每天一个知识点,带你自学NOAI,加入我们吧~
上节课电脑学会了接收输入、做运算。但有个问题——不管你输入什么,它都做同样的事。这节课,让电脑学会"看情况办事"。
if:满足条件才执行
最简单的条件判断:if。意思就是"如果……就……"。
score = 90ifscore >= 60:print("及格了") |
及格了
拆开看:
•if score >= 60: 是条件。注意末尾有个冒号
• 下面缩进的那行 print("及格了") 是条件成立时要执行的代码
•缩进是4个空格,Python靠缩进来判断"哪些代码属于if"
如果把score改成50:
score = 50ifscore >= 60:print("及格了")print("程序结束") |
程序结束
条件不成立,缩进里的代码被跳过了。但最后一行print("程序结束")没有缩进,它不属于if,所以照常执行。
if-else:二选一
很多时候我们想说"如果……就……否则就……"。用else:
score = int(input("输入你的分数:"))ifscore >= 60:print("及格了")else:print("没及格,继续加油") |
输入80:
输入你的分数:80及格了
输入45:
输入你的分数:45没及格,继续加油
if和else只会走其中一个——条件成立走if,不成立走else,不可能两个都走。
if-elif-else:多个条件
如果不止两种情况呢?比如想把分数分成A、B、C三档。用elif(就是else if的缩写):
score = int(input("输入分数:"))ifscore >= 90:print("A")elifscore >= 60:print("B")else:print("C") |
输入85:
输入分数:85B
拆开看执行过程:
• 先看 score >= 90?85不满足,跳过
• 再看 score >= 60?85满足,执行 print("B")
• 已经找到满足的了,后面的else直接跳过,不再检查
if-elif-else从上往下检查,一旦有一个条件成立就执行那个分支,剩下的全部跳过。
elif可以写很多个:
ifscore >= 90:print("优秀")elifscore >= 80:print("良好")elifscore >= 60:print("及格")else:print("不及格") |
比较运算符
if后面的条件要用比较运算符来写。Python有6个:
比较运算的结果是布尔值——要么是 True(成立),要么是 False(不成立)。
print(5 > 3)print(5 == 3)print(5 != 3) |
TrueFalseTrue
新手最容易犯的三个错
错误1把 = 和 == 搞混
# 错误写法ifscore = 60: # 这是赋值,不是比较!会报错# 正确写法ifscore == 60: # 两个等号才是"判断相等" |
= 是赋值(把右边的值存进左边),== 才是比较(判断两边是不是相等)。
错误2忘了冒号
# 错误写法ifscore >= 60# 少了冒号,报错# 正确写法ifscore >= 60: # 冒号不能丢 |
错误3缩进不对
# 错误写法ifscore >= 60:print("及格了") # 没缩进,报错# 正确写法ifscore >= 60:print("及格了") # 缩进4个空格 |
Python对缩进非常严格。if/elif/else后面的代码必须缩进,而且同一个代码块里的缩进要一致。建议统一用4个空格。
实战:判断奇偶
把上节课学的取余运算和这节课的if-else结合起来:
num = int(input("输入一个整数:"))ifnum % 2 == 0:print("偶数")else:print("奇数") |
输入一个整数:7奇数
num % 2 就是除以2取余数。余数是0说明能被2整除,就是偶数。
动手试试
练习1:预测输出 下面这段代码,输出什么?
提示:从上往下检查条件,15 > 20?15 > 10? |
练习2:找bug 这段代码想判断年龄是否满18岁,但运行就报错。哪里出了问题?
提示:回看"新手最容易犯的三个错"里的第二个。 |
练习3:写代码 写一个程序:输入一个整数,如果它能被3整除就输出"Fizz",能被5整除就输出"Buzz",既能被3又能被5整除就输出"FizzBuzz",都不能就输出这个数本身。 提示:用 % 判断能不能整除,注意if-elif-else的顺序——"既能被3又能被5整除"要放在最前面判断。 |
自己先想,想完了去香农平台上写代码跑一遍验证。
去平台上手写代码
学到这里,你的程序已经能"思考"了——接收输入,判断条件,给出不同的回应。回顾一下:
•if / elif / else — 根据条件走不同的路
•比较运算符 — > < == != >= <=
这篇文章讲的是香农NOAI学习平台"Python基础"模块的第四课。平台上有更多的练习题,写完代码点运行,对不对立刻就知道。
香农NOAI学习平台地址:shannon.arpa.school微信扫码登录就能用,免费。找到「Python基础」→「条件判断」,从第一道题开始写。
下一篇讲循环——让电脑不光会选择,还能重复做同一件事,一行代码干一百遍的活。

