我编写的程序打算输出100到200之间的素数。(我在路上添加了一些额外的打印命令,这样我就能看到它到达的位置。)任何人都可以给我一个提示为什么它停在137,而脚本正在检查这个号码?
谢谢!
这是脚本:
import math
import sys
index=100.0
checker=2.0
def start():
print("A")
global index
while index<=200.0:
fu1()
if index>200.0:
end()
def fu1():
print ("B")
print ("checker", checker)
print ("index", index)
global index
global checker
varb=index/checker
varb2=round(index/checker, 0)
if checker>=index:
print ("C")
print(index)
index=index+1.0
checker=2.0
start()
if varb2==varb:
print("D")
checker=2.0
index=index+1.0
start()
checker=checker+1.0
fu1()
def end():
print("E")
print("ENDED")
sys.exit()
start()
答案 0 :(得分:2)
你的程序已达到递归调用次数的限制(我认为在python中默认为1000)...例如,你可以使用此命令sys.setrecursionlimit(5000)
来增加它。