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,所以這個條件永遠不會終止。 –