congfeifan 发表于 2022-1-22 13:17:53

python初学者问个问题

def rn(d):
    if d == 1 or 2:
      return 1
    elif d > 2:
      return (rn(d-2)+rn(d-1))
这个程序为什么不能正确输出斐波那契数列啊?

isdkz 发表于 2022-1-22 13:19:44

因为2判定为True,你应该改成 if d==1 or d== 2:

congfeifan 发表于 2022-1-22 13:21:54

isdkz 发表于 2022-1-22 13:19
因为2判定为True,你应该改成 if d==1 or d== 2:

谢谢

sunsg 发表于 2022-3-8 10:15:38

应该是:
def rn(d):
    if d==1 or d== 2:
      return 1
    elif d > 2:
      return (rn(d-2)+rn(d-1))
页: [1]
查看完整版本: python初学者问个问题