python - 一个collat​​z程序自动化无聊的东西

时间:2017-02-01 09:05:21

标签: python python-3.x

大家好我已经阅读了此问题的先前答案,并且可以运行代码。我想要理解的是为什么我的代码没有运行。

由于

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)))

1 个答案:

答案 0 :(得分:2)

您没有在number循环中更新while,因此您陷入无限循环。

您应该将collatz的返回值分配给number,以更新number

while number != 1:
    number = collatz(number)
    print(number)