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)
if n == 1:
break
print(n)
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:
print(collatz(n))
continue
if n == 1:
break
第一个问题:这两个代码块的return用法结果运行起来是否一样。
def collatz(number):
while number != 1:
if number % 2 == 0:
number = number // 2
else:
number = 3 * number + 1
print(number)
if number == 1:
break
n = int(input('输入一个整数?\n'))
collatz(n)
第二个问题:我要代码三结果,但为什么把循环拿出来,前两个代码就不好使了呢?是哪里出了问题吗?