天下独我意 发表于 2018-3-17 08:00:16

为啥错呀?!!!

请问大神:为啥错???
def collatz():
    number=input('输入数字:')
    int(number)
    if number % 2 == 0:
      return number//2
      while True:
            num = int(input())
            result = collatz(num)
            if result ==1:
                break
    else:
      return 3*number+1
      while True:
            num = int(input())
            result = collatz(num)
            if result ==1:
                break
collatz()

南城顾她 发表于 2018-3-17 09:15:41

number=input('输入数字:')
   int(number)    # 这里你应该用number去接收int(number)要不然字符串是不能被计算的

南城顾她 发表于 2018-3-17 09:16:55

if number % 2 == 0:
      return number//2
      while True:
            num = int(input())
            result = collatz(num)
            if result ==1:
                break
    else:
      return 3*number+1
      while True:
            num = int(input())
            result = collatz(num)
            if result ==1:
                break

#你写的这个条件也不对 if 之后还有else之后直接return 那么根本不会执行下面的语句

Zmynx_2017 发表于 2018-3-17 11:43:33

你这个代码问题,很多,首先int(number),需要写成number = int (number)
其次我不太清楚你的程序要实现什么功能,你 if else 中while True中的内容都不会执行
因为在执行他们之前,你已经写了 return 了
页: [1]
查看完整版本: 为啥错呀?!!!