我有一个思维挑战谜题,想用Python解决。他们给出4个数字(25、28、38、35),要求我们将这些数字放在...+...-...=... 中。一种可能的解决方案是 25+38-35=28。我尝试着用这些数字创建一个列表,通过一些循环和 if 语句进行迭代:
lst=[25, 28, 38, 35]
for z in lst:
for x in lst:
for c in lst:
for v in lst:
if z+x-c==v:
print z,x,c,v
但是当我运行for循环时,数字会重复出现,例如(25+25-25=25),这并不能起到作用。我该如何解决这个问题?
itertools.permutations(lst,2)
的前6个值开始。如果这些值是整数且总和为奇数,则忘记它 :-) - Steve Jessop