如何解决为什么它返回一个整数?
def fib(n,fin=True):
if n < 0: raise ValueError
a,b = fib(n-1,False) if n else (0,1)
return a if fin else (b,a+b)
我遇到了这段代码,有点不明白为什么 (b,a+b) 返回一个整数。
解决方法
由于 (b,a+b)
构造,它仅在 fin
为 False
时返回 a if fin else (b,a+b)
。如果 fin
为 True
,则返回 a
。
不是实现斐波那契最漂亮的方式,但从学术角度来看很有趣。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。