|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 lzb1001 于 2023-6-21 07:41 编辑
斐波那契数列0、1、1、2、3、5、8、13、21、34、……,从第3项也就是1开始及其后的每项等于其前两项的和。
I. 下例中用完整包括0在内的斐波那契数列,传入的n是索引或下标,而不是项号??? 见https://baijiahao.baidu.com/s?id=1677366048581863957&wfr=spider&for=pc中的序号④
def fib(n):
if n == 0:
return 0
if n in [1, 2]: # 也可写成if n == 1 or n == 2:
return 1
return fib(n - 1) + fib(n - 2)
while True:
number = input('请输入索引或下标:').strip()
if len(number) == 0: # 避免输入空值
print()
continue
elif int(number) <= 0: # 避免输入0或负数
print('输入错误!请确认后重新输入!', '\n')
else:
print(f'索引或下标 {number} 对应的数列的值:{fib(int(number))} ', '\n')
II. 下面是小甲鱼小兔崽子例子,用不包括0在内的斐波那契数列,传入的n是项号,而不是索引或下标???
# p6_8.py
def fib(n):
if n < 1:
print('输入有误!')
return -1
if n == 1 or n == 2:
return 1
else:
return fib(n - 1) + fib(n - 2)
-----------------------------------------------------------------------------
【我的疑问】
以上两行红色字体的说法和理解不知对吗?
|
|