@[toc]写一个名为collatz()的函数,它有一个名为number的参数,如果参数是偶数,那么collatz()就打印出number//2,并返回该值。如果number是奇数,collatz()就打印并返回3* number + 1。然后编写一个程序,让用户输入一个正整数,并不断对这个数调用collatz(),直到函数返回值为1
def collatz(number):
if number % 2 == 0 :
n = number//2
else :
n = 3 * number + 1
return n
print("Please enter a positive integer as your number:")
yourNumber = int(input())
while True:
newNumber = int(collatz(yourNumber))
print("the latestNumber is: " + str(newNumber))
if newNumber == 1:
break
else:
yourNumber = newNumber
collatz(yourNumber)
输入35,结果如下
Please enter a positive integer as your number:
35
the latestNumber is: 106
the latestNumber is: 53
the latestNumber is: 160
the latestNumber is: 80
the latestNumber is: 40
the latestNumber is: 20
the latestNumber is: 10
the latestNumber is: 5
the latestNumber is: 16
the latestNumber is: 8
the latestNumber is: 4
the latestNumber is: 2
the latestNumber is: 1