|
- def collatz(number):
- #global number
- if number==1:
- number=1
- return number
- elif number%2==0:
- number=number//2
- print(number)
- return collatz(number)
- else:
- number=3*number+1
- print(number)
- return collatz(number)
-
- print('Please enter a number what you want:')
- while True:
- try:
- number=int(input())
- number=collatz(number)
- print('Not in funtion. %d' % number)
- if number==1:
- break
- except ValueError:
- print('You must enter a integer')
复制代码
这样就可以啦,感觉你还是对递归不明白
其实那个return在每一个if分支里面都要有, 递归的过程你自己要想明白, 最好找一个简单的递归的例子练习一下 |
|