求解
在学习“这帮小兔崽子”的这节课中,用斐波那契数列做例子求兔子数量。然后自己手动的代码是:def fbnqi(n):
if n == 1 or 2:
return 1
else:
return fbnqi(n-1) + fbnqi(n-2)
monthnumber = int(input("请输入求兔子数量的月份:"))
result = fbnqi(monthnumber)
print("%d 月份后的兔子对数是:%d" % (monthnumber, result))
然后一直返回1,只是小甲鱼老师的条件改成了”if n == 1 or n == 2:”,改动了这一个地方就可以运作了。想问一下这个or不能这样表达吗 尴尬,,忘看发帖要求了,,早知道主题长一点了,,,还好被审核通过了。。求问求问{:5_109:} if n == 1 or 2
这句话的意思是if n ==1 或者 if 2
然后if 2 这个一直是真的,假或真,就一直判断为真,这个判断等于没意义
和if n == 1 or n == 2:是完全不一样的 你这样编辑Python看到的代码是这样的:
if n == 1 or 2 is True
那这个判断就没有意义了,因为2永远是True 原因的根本是:
“==”运算符的优先级高于“or”运算符,所以:
if n == 1\# 不知道是不是True
2# 任何整数(>0)都是True
所以or运算符中有一个True结果肯定是True 疾风怪盗 发表于 2020-9-4 12:59
这句话的意思是if n ==1 或者 if 2
然后if 2 这个一直是真的,假或真,就一直判断为真,这个判断等于没 ...
谢谢
页:
[1]