我一直在試圖做一個函數,它需要一個數字並通過猜想來運行它。我寫了這段代碼,但它不起作用。我是初學者,所以我不知道爲什麼它不起作用。它不是貫穿數字並停在1,而是永遠持續下去。如果有人可以看看我的代碼,並告訴我什麼是錯的,那真的很有幫助。Python中的Collazt猜想
def collatz(number):
number = int(number)
while number != 1:
if number == 1:
break()
if number%2 == 0:
number = number//2
print(str(number))
if number%2 == 1:
number = 3*number+1
print(str(number))
collatz(5)
第一件事,這個'如果數== 1: 休息()'是無用的,因爲它是多餘的你,而條件 – njzk2
這甚至不應該編譯。 break()是一個語法錯誤。 – user2357112