首页 > 编程知识 正文

python中if的条件表达式,python中的限制条件

时间:2023-05-05 03:43:27 阅读:185896 作者:649

deffib2(n ) :

returnnandn2orfib2(n-1 ) fib2(n-2 ) )。

deffib3(m ) :

返回MIF m2 else fib3(m-1 ) fib3(m-2 ) )。

参数值为4时,fib2的输出为7,fib3的输出为3。 为什么会发生这样的事呢?

我不知道这个。

我的Python版本是2.7.9,操作系统是操作系统osX 10.11.1

解决方法:

再冗长一点,试着写下你的函数:

deffib2(n ) :

ret=nandn2orfib2(n-1 ) fib2(n-2 ) )。

print'fib2({}={} ).format,ret ) )。

返回

打印ib2 (4) )。

deffib3(m ) :

ret=mifm2elsefib3(m-1 ) fib3(m-2 ) ) )。

print'fib3{}={}}.format{m,ret

返回

打印ib3 (4) )。

fib2似乎要向数字中添加布尔值。 所以是不正确的。 fib3只处理数字,是正确的。 但请注意,这不是计算斐波那契数的推荐方法。 如果尝试使用FiB3(1000 ),将无限执行。 建议从0和1开始,而不是使用递归计算Fibonacci计数。

我为你写了一个计算Fibonacci数#n的短函数:

deffib4(n ) :

a=0

b=1

forIinrange(1,n 1 ) :

a,b=(b,a b )

return a

打印ib4 (0)。

打印ib4 (1) )。

打印ib4 (2) )。

打印ib4 (3) )。

打印ib4 (4) )。

打印IB4(1000 ) )。

请注意,它也适用于n==1000。

标签: python、conditional-operator、python-2-7

资料来源: https://codeday.me/bug/2019 07 06/1397962.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。