```python
number = int(input('输入一个整数?\n'))
while number != 1:
if number % 2 == 0:
number = number // 2
else:
number = 3 * number + 1
print(number)
if number == 1:
break
def collatz(number):
if number % 2 == 0:
number = number // 2
else:
number = 3 * number + 1
return number
n = int(input('输入一个整数?\n'))
while n != 1:
collatz(n)
print(n)
if n == 1:
break
以上两个代码结果有什么不一样吗?
我只是有def写了一个函数 collatz就不执行了为啥啊?
还有人说return是这样写的但是其实和第二段代码结果一样并不计算collatz为啥呢
def collatz(number):
if number % 2 == 0:
return number // 2
elif number % 2 == 1:
return 3 * number + 1
n = int(input('输入一个整数?\n'))
while n != 1:
collatz(n)
print(n)
if n == 1:
break