再一次在Project Euler上工作,这次我的脚本就在那里。我很确定我让它运行的时间足够长,我的手迹(就像我父亲所说的那样)不会产生任何问题。我哪里错了?
我只包含代码的相关部分一次。
def main():
f, n = 0, 20
while f != 20:
f = 0
for x in range(1,21):
if n % x != 0: break
else: ++f
if f == 20: print n
n += 20
提前致谢!
答案 0 :(得分:3)
Python没有增量(++
)。它被解释为+(+(a))
。 +是一元加运算符,基本上什么都不做。使用+= 1
答案 1 :(得分:0)
在你的情况下,'f'值永远不会达到20,因此永远不会退出 1)在第1次中断时(当n = 20且x = 3时),它再次设置f = 0。 类似地,对于下一个循环,n也增加20但是当'x'再次为3时,f = 0
所以这将进入无限循环......