求解答python,为啥输出的时候会多出4来
def collatz(number):if number%2==0:
return number//2
else:
return 3*number+1
try:
input_number = int(input("请输入一个整数:"))
while True:
input_number=collatz(input_number)
print(collatz(input_number))
if input_number==1:
break
except:
print('出现错误!只支持输入整数!')请输入一个整数:8
2
1
4
第一轮下来 input_number由8变成了4,打印2;第二轮下来input_number由4变成了2,打印1;第三轮下来input_number由2变成了1,打印4,
然后跳出循环。 如果只想打印出2和1,只需要把跳出判断往前移
input_number=collatz(input_number)
if input_number==1:
break
print(collatz(input_number))
页:
[1]