是否elif后面的语句执行了,这个循环就跳出了,再后面的语句就不执行了?

比如我定义了 i=50,就只执行

elif (i-40)>0:
    ix=(i-40)*0.03+2.75
    print(ix)

后面的 elif 就不执行了?


if i-100>0:
    ix=(i-100)*0.01+0.6+0.6+1+1+0.75
    print(ix)
elif (i-60)>0:
    ix=(i-60)*0.015+0.6+1+1.75
    print(ix)
elif (i-40)>0:
    ix=(i-40)*0.03+2.75
    print(ix)
elif (i-20)>0:
    ix=(i-20)*0.05+1.75
    print(ix)
elif (i-10)>0:
    ix=(i-10)*0.075+1
    print(ix)
elif i>0:
    ix=i*0.1
    print(ix)
阅读 7.6k
5 个回答

当然, 只要匹配了一个if条件,其他的都不会再作判断的。

判断语句,就是说只有一个人坑给你跳

这还有什么疑问么?

从上到下,依次判断,满足条件的第一个能进去的if,elif执行完里面操作后,就不会检查下面的了

对应的一组 if-elif-else 只会执行其中一个分支,
如果多个分支条件为真,只执行最上面的一个(条件为真的)分支

补充:如果想要后面的也执行(即重新判断条件),把elif改成if即可

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题