大家好我已经阅读了此问题的先前答案,并且可以运行代码。我想要理解的是为什么我的代码没有运行。
由于
def collatz(number):
if number % 2 == 0:
return number // 2
elif number % 2 == 1:
return 3 * number + 1
print('Enter a number')
number = int(input())
while number != 1:
print(int(collatz(number)))
答案 0 :(得分:2)
您没有在number
循环中更新while
,因此您陷入无限循环。
您应该将collatz
的返回值分配给number
,以更新number
。
while number != 1:
number = collatz(number)
print(number)