跟着NOAI考纲学Python,学完就能考,第4课
每天一个知识点,带你自学NOAI,加入我们吧~
上节课电脑学会了接收输入、做运算。但有个问题——不管你输入什么,它都做同样的事。这节课,让电脑学会"看情况办事"。
if:满足条件才执行
最简单的条件判断:if。意思就是"如果……就……"。
score = 90 |
及格了
拆开看:
• if score >= 60: 是条件。注意末尾有个冒号
• 下面缩进的那行 print("及格了") 是条件成立时要执行的代码
• 缩进是4个空格,Python靠缩进来判断"哪些代码属于if"
如果把score改成50:
score = 50 |
程序结束
条件不成立,缩进里的代码被跳过了。但最后一行print("程序结束")没有缩进,它不属于if,所以照常执行。
if-else:二选一
很多时候我们想说"如果……就……否则就……"。用else:
score = int(input("输入你的分数:")) |
输入80:
输入你的分数:80
及格了
输入45:
输入你的分数:45
没及格,继续加油
if和else只会走其中一个——条件成立走if,不成立走else,不可能两个都走。
if-elif-else:多个条件
如果不止两种情况呢?比如想把分数分成A、B、C三档。用elif(就是else if的缩写):
score = int(input("输入分数:")) |
输入85:
输入分数:85
B
拆开看执行过程:
• 先看 score >= 90?85不满足,跳过
• 再看 score >= 60?85满足,执行 print("B")
• 已经找到满足的了,后面的else直接跳过,不再检查
if-elif-else从上往下检查,一旦有一个条件成立就执行那个分支,剩下的全部跳过。
elif可以写很多个:
if score >= 90: |
比较运算符
if后面的条件要用比较运算符来写。Python有6个:
| 运算符 | 含义 | 例子 |
| > | 大于 | 5 > 3 → True |
| < | 小于 | 5 < 3 → False |
| == | 等于 | 5 == 5 → True |
| != | 不等于 | 5 != 3 → True |
| >= | 大于等于 | 5 >= 5 → True |
| <= | 小于等于 | 3 <= 5 → True |
比较运算的结果是布尔值——要么是 True(成立),要么是 False(不成立)。
print(5 > 3) |
True
False
True
新手最容易犯的三个错
错误1把 = 和 == 搞混
# 错误写法 |
= 是赋值(把右边的值存进左边),== 才是比较(判断两边是不是相等)。
错误2忘了冒号
# 错误写法 |
错误3缩进不对
# 错误写法 |
Python对缩进非常严格。if/elif/else后面的代码必须缩进,而且同一个代码块里的缩进要一致。建议统一用4个空格。
实战:判断奇偶
把上节课学的取余运算和这节课的if-else结合起来:
num = int(input("输入一个整数:")) |
输入一个整数: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基础」→「条件判断」,从第一道题开始写。
下一篇讲循环——让电脑不光会选择,还能重复做同一件事,一行代码干一百遍的活。