自学Python第6天:if判断、if-else、if-elif-else和嵌套判断
自学Python第6天:if判断、if-else、if-elif-else和嵌套判断——我终于能让程序自己做决定了
新手向 | 2026-06-28
如果你还记得第五篇的内容,我写了一个体温检测程序:
temp = float(input("请输入你的体温:"))
if temp <= 37.5:
print("体温正常请进!")
当时的问题是:体温超过37.5度时,程序什么都不做,直接就结束了。但是在现实生活中,体温过高应该给出不一样的提示。
今天就来把这个问题彻底解决。
一、if语句:做一次判断
复习一下if的基本写法:
temp = float(input("请输入您的体温:"))
if temp <= 37.5:
print("体温正常请进!")
if的意思是:如果条件成立,就执行下面的代码;如果条件不成立,就跳过。
if 虽然能做判断,但它的局限在于只能处理“成立”的情况,不成立时没有任何反应那如果体温偏高,我想提示"需要隔离",该怎么办?
二、if-else:两条路选一条
else解决了"条件不成立时做什么"的问题:
temp = float(input("请输入你的体温:"))
if temp <= 37.5:
print("体温正常请进!")
else:
print("体温异常,需要隔离!")
if-else的意思是:如果条件成立,走第一条路;否则走第二条路。
它的局限在于:只能处理两种情况。如果我想区分"低烧"和"高烧",if-else就不够用了。那有没有办法处理三种或更多情况呢?
三、if-elif-else:多条路选一条
elif 是“else if”的缩写,意思是“否则如果……”,可以连续写多个:
temp = float(input("请输入你的体温:"))
if temp <= 37.5:
print("体温正常请进!")
elif temp <= 38.5:
print("体温偏高,请到观察区休息。")
else:
print("体温过高,需要隔离!")
这段代码的逻辑是:先判断是否正常,正常就直接进门;不正常再判断是否只是低烧,低烧就去观察区;如果两个条件都不满足(高于 38.5),才去隔离。
if-elif-else 的工作方式是从上到下依次检查,一旦有某个条件满足,就执行对应的代码,然后跳过剩下的所有条件。
不过 if-elif-else 也有一个问题:它的每个条件是独立判断的。如果判断条件本身很复杂——比如“体温正常且健康码为绿码”——一个条件就没法同时表达两个要求。
四、判断语句的嵌套:层层检查
有时候,你需要先检查一个条件,通过了再检查下一个。这种“判断里面套判断”的写法叫嵌套判断。
temp = float(input("请输入你的体温:"))
code = input("请输入健康码状态(绿码/黄码/红码):")
if temp <= 37.5:
if code == "绿码":
print("体温正常,健康码正常,请进!")
else:
print("体温正常,但健康码异常,请到人工窗口处理。")
else:
print("体温异常,需要隔离!")
嵌套判断的逻辑是:先检查第一关,通过了再检查第二关,一关一关往下走。
第一关查体温,体温正常的才进入第二关查健康码;体温不正常的直接拦截,不再往下查。这种层层过滤的处理方式在实际开发中非常常见。
如果你觉得嵌套的代码缩进太多不好读,也可以把两个条件合并成一个逻辑表达式:
if temp <= 37.5 and code == "绿码":
print("体温正常,健康码正常,请进!")
这种方式更简洁,但只适用于“同时满足”的场景。如果第二个条件在第一个条件不通过时还要做不同的事情,还是需要用嵌套。
五、综合示例:完整的安检程序
把今天学的东西串起来,写一个更完整的安检程序:
def security_check():
print("=" * 30)
print(" 欢迎进入安检系统")
print("=" * 30)
temp = float(input("请测量并输入您的体温:"))
code = input("请输入健康码状态(绿码/黄码/红码):")
# 第一关:体温检查
if temp <= 37.5:
# 第二关:健康码检查
if code == "绿码":
print(" 体温正常,健康码正常,欢迎进入!")
else:
print(" 体温正常,但健康码异常,请到人工窗口处理。")
else:
print(" 体温异常,需要隔离!")
# 嵌套可以继续深入
if temp >= 39.0:
print(" 您的高温警报已触发,请联系医护人员。")
security_check()
运行结果(输入36.5和"绿码"):
==============================
欢迎进入安检系统
==============================
请测量并输入您的体温:36.5
请输入健康码状态(绿码/黄码/红码):绿码
体温正常,健康码正常,欢迎进入!
这段代码展示了今天学的四种判断结构:
·if:判断体温是否正常
·if-else:体温正常/异常的分支
·if-elif-else:也可以用于处理健康码绿码/黄码/红码三种状态(本例未展开说明)
·嵌套判断:先查体温,再查健康码,层层过滤
小结
今天学的东西,整理成一张速查表:
| 知识点 | 适用场景 | 示例 |
|---|---|---|
| if | 只关心“成立”时做什么 | if temp <= 37.5: print("正常") |
| if-else | 两种情况二选一 | if ...: ... else: ... |
| if-elif-else | 三种及以上情况多选一 | if ...: ... elif ...: ... else: ... |
| 嵌套判断 | 需要层层检查,每层处理不同 | 先查体温再查健康码 |
什么时候用哪种?
·只需判断一种情况 → if
·两种情况二选一 → if-else
·三种或更多情况 → if-elif-else
·多个条件之间有递进关系(先检查A,再检查B) → 嵌套判断
下一篇我打算学 for 循环和 while 循环。
如果你也在学Python,欢迎在评论区告诉我你今天学到了什么,或者遇到了什么报错,一起交流!
相关文章:

浙公网安备 33010602011771号