吴大超 发表于 2021-5-11 16:16:02

求解答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

远方的树 发表于 2021-5-13 04:51:13

第一轮下来 input_number由8变成了4,打印2;第二轮下来input_number由4变成了2,打印1;第三轮下来input_number由2变成了1,打印4,
然后跳出循环。

姓李三个木 发表于 2021-5-20 12:26:20

如果只想打印出2和1,只需要把跳出判断往前移
input_number=collatz(input_number)
    if input_number==1:
      break
    print(collatz(input_number))
页: [1]
查看完整版本: 求解答python,为啥输出的时候会多出4来