[英]Python Restarting a loop
我如何在以下代碼中重新啟動循環,因為它在 3N+1 中達到 1,因為它在 1>4>2>1 中變為 1?
代碼:
import math
import random
num = 1
NumTF = False
play = True
while play:
if num % 2 == 0:
num = num / 2
else:
num = 3 * num + 1
print(num)
if num == 1:
play = False
if play == False:
num += 1 and play == True
我假設你想結束循環,因為......科拉茨猜想。
您所要做的就是將這個簡單的 if 語句添加到末尾:
elif num == 1:
play = False
在if num%2 == 0
語句之后,所以 while 循環結束。 目前,您在執行num = 3*num+1
之后執行此操作,這使其變為 4,因此這種情況永遠不會發生。 正如 rv.kvetch 提到的, play==True
做了意想不到的事情,所以只需刪除print(num)
之后的所有內容,因為這些都是不必要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.