Python脚本挂起,可能是一个无限循环?

时间:2010-06-30 13:07:04

标签: python infinite-loop

再一次在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

提前致谢!

2 个答案:

答案 0 :(得分:3)

Python没有增量(++)。它被解释为+(+(a))。 +是一元加运算符,基本上什么都不做。使用+= 1

答案 1 :(得分:0)

在你的情况下,'f'值永远不会达到20,因此永远不会退出 1)在第1次中断时(当n = 20且x = 3时),它再次设置f = 0。 类似地,对于下一个循环,n也增加20但是当'x'再次为3时,f = 0

所以这将进入无限循环......