声明

时间:2012-05-29 22:26:39

标签: python-2.7

def sequence(n):
    while n != 1:
        print n,
        if n%2 == 0:        # n is even
           n = n/2
      else:               # n is odd
            n = n*3+1


sequence(6)
6 3 10 5 16 8 4 2

为什么输出在这里不包括1?许多不是x!

3 个答案:

答案 0 :(得分:1)

尝试使用<=>=,例如while n >= 1。这应该做你需要的:))

答案 1 :(得分:0)

如果n == 1,您可以设置while循环。尝试执行n > 0n >= 1

答案 2 :(得分:0)

while n != 1:
       print n

一旦n得到值1,它就不会进入循环,因此不允许打印'n'。