|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1、以下注释是否正确
2、多处???请解疑释惑,不甚感谢
'''
n :表示月数
n1:表示???
n2:表示???
n3:表示???
'''
def fab(n): # 为何需要定义下面三个变量?而且还都必须等于1?
n1 = 1 # 第1个月总对数为1
n2 = 1 # 第2个月总对数为1
n3 = 1 # 第3个月总对数默认初始值先为1?若无此行代码当fab(1)或fab(2)时会报错!
# 上面也可写成n1 = n2 = n3 = 1
if n < 1:
print('输入有误!') # 若输入的值(即月数)小于1则报错,比如输入0毫无意义,输出错误提示
return -1 # 注意此行缩进!报错就return -1(正常情况下把结果return回去),可否返回其他数值?
while (n - 2) > 0: # 为何设置这个条件,而且必须n - 2 且必须>0?
n3 = n1 + n2 # 等于左边两个月总对数的和---从头开始计算,依次递进!
n1 = n2 # ……?---(n - 2)从左往右递进!
n2 = n3 # ……?---(n - 1)从左往右递进!
n -= 1 # 循环次数减1---循环次数从多到少!
# 当(n - 2) == 0时不再执行循环/退出循环
return n3 # 注意此行缩进!返回结果即最后一轮循环时n3的值
result = fab(20) # 调用函数fab(n),20个月作为参数传入,将结果赋值给变量result
if result != -1: # 当result的值不等于-1时,等于-1就说明报错了,为何需要这个条件?
#print('20个月总共有%d对小兔子!' % result)
print(f'20个月总共有{result}对小兔子!') # 输出总对数
#number = int(input('请输入月数:'))
#result = fab(number)
#if result != -1:
#print('%d个月总共有%d对小兔子!' % (number, result))
#print(f'{number}个月总共有{result}对小兔子!' ) |
|