0
我已经编写了一个Python函数randomizer()
,它随机化文件中的行,然后将它们写入std输出。它本身就没有问题。现在,我希望能够遍历这个过程的时候,用户自定义数字,所以我写:Python:在while循环中调用函数导致失控递归
def iterator():
print("Number of iterations: ")
total_iterations = raw_input()
current_iteration = 1
while current_iteration <= total_iterations:
randomizer()
current_iteration = current_iteration + 1
如果我这样做,randomizer()
只是不断重复自己,直到我手动终止它。但是,如果while循环是
while current_iteration <= total_iterations:
random.shuffle(listname)
current_iteration = current_iteration + 1
然后iterator()
在指定的运行次数后停止。如果我在iterator()
的while循环内写入randomizer()
的整个代码,则会出现同样的问题。这告诉我,在while循环中调用一个函数时有问题,但我无法弄清楚什么。
这应该给你一个错误,除非额外的缩进是一个错字。 – asheeshr
是的,额外缩进是一个错误(现在纠正),但不是在我的代码上。 – Koldito
第二个版本真的有用吗?问题是'raw_input()'的结果是一个字符串,而不是一个int,所以这个条件永远不会终止。 –