ghser 发表于 2020-6-27 15:57:31

萌新提问:这个代码的问题是什么,为什么不能运行

def fun(n):
    if n <1:
      print("输入有误!")
      return -1
    if n==1 or n==2:
      return 1
    else:
      return fun(n-1)+fun(n-2)

n= input("请输入一个数")
result = fun(n)
if result != -1:
    print("该数的斐波那契数列值为%d" % result)

Twilight6 发表于 2020-6-27 15:58:27



input 的函数返回的是字符串,而 字符串不能直接和 整型进行比较,导致报错

这里加上int 就行 :result = fun(int(n))


def fun(n):
    if n <1:
      print("输入有误!")
      return -1
    if n==1 or n==2:
      return 1
    else:
      return fun(n-1)+fun(n-2)

n= input("请输入一个数")
result = fun(int(n))
if result != -1:
    print("该数的斐波那契数列值为%d" % result)
页: [1]
查看完整版本: 萌新提问:这个代码的问题是什么,为什么不能运行