while-loop - 在失控递归中,python: 在循环循环中调用函数

  显示原文与译文双语对照的内容
0 0

我编写了 python 函数 randomizer(),它将文件从一个文件随机化,然后将它们写入std输出。 就它的自身而言,它没有问题。 现在我希望能够迭代这里进程的用户定义次数,因此我编写:


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() 在指定的运行次数之后停止。 如果我将 randomizer()的整个代码写在 iterator()的while循环of就会出现同样的问题。 这告诉我,从,循环调用函数有一个问题,但是我不能找出。

时间: 原作者:

0 0

问题是 raw_input() 返回一个字符串,所以比较 while current_iteration <= total_iterations 总是返回 true 。

通过强制转换为int来修复


total_iterations = int(raw_input())

原作者:
...