You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新手求助:If/Elif语句未按预期工作

If/Elif语句未按预期执行的原因及解决方法

原因

if-elif是顺序判断的逻辑:只要前面的条件满足,就会执行对应的代码块,并且直接跳过后面所有的elif和else分支。你的代码里,当temperature=31时,temperature >=15这个条件先被判断,结果是成立的,所以直接执行了print("It's ok"),后面的elif temperature >=30根本不会被检查。

解决方法

把条件的顺序调换,先判断更严格、范围更小的条件(比如>=30),再判断范围更大的条件(>=15),这样就能确保符合更严格条件的情况被优先捕获。修改后的代码如下:

temperature = 31
if temperature >= 30:
    print("It's nice")
elif temperature >= 15:
    print("It's ok")
print ("done")

这样当temperature=31时,会先触发>=30的条件,执行对应的打印语句,符合你的预期。

内容的提问来源于stack exchange,提问作者Tumbi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 19:42:03