判断语句 —— if elif else
最后编辑于2026/06/04 by:nood
欢迎来到面缶酱的py手册 Python3第2节 判断语句 本节会学到逻辑门还有三个新函数 if elif else 它们的意思分别是: 如果 否则如果 否则 其中 elif 是else if 的缩写 在C里面 elif 被写成 else if
2.1判断
在判断语句中 如果是判断语句 那就肯定有"if" 可以没有"elif"和"else" 它们虽然也是判断 但不是必须的 如果在一个代码块里面出现了 if elif else 它们是会有关联的 还要说一点 一个判断语句块中只能有一个if 一个else 但是elif可以写无数个上面也说了它们的意思 下面我们来说一下执行方式
- 只有if: 只有if的时候 它会判断是否成立 如果不成立 那么直接跳过
- 有if和elif: 有if和elif的时候 程序会先看if 如果if成立 那么下面的elif就都不执行 如果if不成立 那么就继续看下面的elif 不成立的就跳过
- 只有if和else: 只有if和else的时候 程序只会判断if是否成立 如果if不成立 那么就执行else
- 有if elif else: 有if elif else的时候 程序会先判断if 如果if不成立 就会继续判断elif 如果所有的elif都不成立 那么直接执行else
就这几样 那么我们来说一下结构
2.2结构
上面我们也说了那几种执行方式 下面我们来说一下结构(结合上面说)
- 只有if:
if a > 100:
print("1"00)- 有if和elif:
if a > 100:
print("100")
elif a > 50:
print("50")
elif a > 10:
print("10")- 只有if和else
if a > 100:
print("100")
else:
print("0")- 有if elif else
if a > 100: # if后面跟着判断条件 最后面要跟着":"也就是冒号
print("100")
elif a > 50: # elif后面跟着判断条件 最后面要跟着":"也就是冒号 跟if一样
print("50")
elif a > 10:
print("10")
else: # else后面跟着":"也就是冒号 没有判断条件
print("0")2.3尝试
下面 我们来简单尝试一下 来简单的写一个Python程序 输入密码 如果密码正确就输出密码正确 如果密码错误就输出密码错误
num = input("请输入密码") # num是数字的意思 结合我们之前学的输入
if num = "114514": # 这里的意思也就是密码等于"114514"
print("密码正确")
else:
print("密码错误")运行一下试试吧 如果这个你都对了 那我们再来写一个有elif的程序 写一个计算考试分数的
经典题目——分数评级(包含if elif else)
score = float(input("请输入考试分数:")) # 这里变量score就是分数的意思
if score >= 90:
print("A级")
elif score >= 80:
print("B级")
elif score >= 70:
print("C级")
elif score >= 60:
print("D级")
else:
print("不及格")一般来说 每个elif那里还要再加一个判断条件的 就比如我们刚才那里第一个elif应该写成:
elif 90 >= score > 80:
print("B级")不过程序是一点一点往下执行的 我们这样写其实也没问题
2.4and、or、not——逻辑门
在Python也有逻辑门,它们是“and”(与门)、“or”(或门)、“not”(非门),通常都是用在条件判断中。
2.4.1and——与
and的意思是和 在逻辑门中是与门 在条件判断的时候要同时满足and左右两边的条件才可以执行 比如:
if 91 > 78 and 78 > 13:
print(114514)这段代码的意思就是如果91大于78和78大于13就可以输出114514 这就是与门
2.4.2or——或
or的意思是或 在逻辑门中是或门 在条件判断的时候要满足or左右两边其中一个的条件就可以执行 比如:
if 91 > 78 or 13 > 78:
print(114514)这段代码的意思就是如果91大于78或13大于78就可以输出114514 我们肯定都知道13肯定不大于78 但是91大于78 上面也说了 两边条件满足任意一个就可以执行 所以会输出114514
2.4.3not——非
not的意思是非 在逻辑门中是非门 在条件判断的时候要满足not右边的条件不成立就可以执行 比如:
if not 13 > 78:
print(114514)这段代码的意思就是如果13大于78这个条件不成立就可以输出114514 我们都知道13肯定不大于78 所以13大于78是 False(不成立) not False 变成 True 因此会输出114514 不懂?再来一个! 看看下面:
age = 15 # age是年龄的意思
if not age >= 18:
print("未成年禁止入内")这里age大于等于18是False not False 为 True 所以会输出"未成年禁止入内"
ok本节我们就学会了判断语句和逻辑门 我们下节见