Collat​​z序列可能没有全局变量?

时间:2017-06-29 09:27:20

标签: python

尝试使用“使用python自动化无聊的东西”的指导方针编写Collat​​z Sequence程序,我试图找出是否有办法编写它而无需定义全局变量。

def collatz(number):
    if number % 2 == 0:
        print(number // 2)
        return number // 2

    elif number % 2 == 1:
        print(3 * number + 1)
        return 3 * number + 1

while number != 1:
   collatz(int(input()))

我试图从几页开始关注他的提示,试图限制全局变量的使用但是我似乎无法找到解决方案而没有在函数之前定义number然后将其称为函数内的全局变量。

1 个答案:

答案 0 :(得分:0)

def collatz(n):
    while n > 1:
        print (n)
        if n % 2 == 1:
            n = 3 * n + 1
        else:
            n = n // 2

    print (n)

称之为:

collatz(101)