我有一个智力挑战谜题,我想用 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),但这不起作用。我该如何解决它?
正如路易斯的评论所暗示的,一个好的方法是
import itertools
for z, x, c, v in itertools.permutations(lst):
if z+x-c==v:
print z,x,c,v
“扁平比嵌套更好”,如import this
交互式 Python 提示符会提醒您:-)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)