Python if 语句
中等5学会if语句,让程序会“思考”——Python条件判断入门
生活中的选择无处不在。比如你早上出门,如果下雨就带伞,否则就不用带。在Python中,我们可以用if语句让程序根据条件做出判断,就像十字路口的红绿灯——如果灯是绿的,你就过马路;如果是红的,就停下。程序遇到if时,先看条件是否为真(True),真才执行里面的代码,否则直接跳过。
学会了if语句,你的程序就有了“判断力”,能根据不同的情况做出不同的反应。
一、if语句的基本用法:先判断,再行动
if语句的格式很简单:
if 条件:
做的事情
注意:条件后面要加一个冒号 :,做的事情前面要缩进(通常按一下Tab键或者四个空格)。缩进表示这些代码只有在条件成立时才执行。
举个例子:检查一个数字是否大于0。
num = 5 # 数字5
if num > 0: # 如果num大于0
print("这个数字是正数")
运行结果会打印这个数字是正数。如果把num改成-3,条件不成立,就什么都不会打印。
生活中的例子:你决定今天要不要带零花钱去学校。如果今天是周五(有体育课要买水),你就带5元钱;否则就不带。
# 判断今天是否周五
is_friday = True # 今天是不是周五?True表示是,False表示否
if is_friday == True: # 注意:判断相等要用两个等号==
print("今天带5元零花钱")
程序只会打印这句话。
二、if-else:两种情况,两条路
大多数时候,我们不仅要处理“如果……”,还要处理“否则……”。可以用if-else语句。
if 条件:
条件成立时做的事
else:
条件不成立时做的事
例子:妈妈给你10元零花钱,如果你帮忙做家务,就能再得5元,否则就只花这10元。
help_housework = True # 是否帮忙做家务
money = 10 # 基础零花钱
if help_housework == True: # 如果帮忙做家务
money = money + 5 # 再加5元
print("你帮忙做了家务,获得额外5元!")
else: # 否则(没帮忙做家务)
print("没有帮忙做家务,没有额外奖励。")
print("你一共获得", money, "元")
运行结果:
你帮忙做了家务,获得额外5元!
你一共获得 15 元
如果把help_housework改成False,就会输出:
没有帮忙做家务,没有额外奖励。
你一共获得 10 元
注意:else后面也要加冒号,里面的代码也要缩进。
三、if-elif-else:多种情况,多路选择
如果判断的不止两种情况,而是多个条件,可以用if-elif-else。elif是“else if”的缩写。程序会从上到下依次检查每个条件,遇到第一个成立的条件就执行对应的代码,然后跳过后面所有的判断。
if 条件1:
条件1成立时做的事
elif 条件2:
条件2成立时做的事(条件1不成立)
elif 条件3:
条件3成立时做的事(条件1和2都不成立)
else:
以上条件都不成立时做的事
游戏中的例子:一个游戏角色有健康值,根据不同的健康值给出不同提示。
health = 45 # 健康值(0到100)
if health >= 80: # 健康值大于等于80
print("状态极佳,继续战斗吧!")
elif health >= 50: # 健康值在50到79之间(因为上一个条件已经排除了>=80)
print("状态不错,但最好小心一点。")
elif health >= 20: # 健康值在20到49之间
print("你受伤了,需要治疗!")
else: # 健康值小于20
print("生命垂危,快找医生!")
这里注意:条件顺序很重要,范围大的条件要放在前面,否则小范围的条件永远不会被检查到。
四、条件怎么写?比较运算和逻辑运算
if语句里的条件可以是比较运算,比如大于(>)、小于(<)、等于(==)、不等于(!=)、大于等于(>=)、小于等于(<=)。
score = 85 # 考试成绩
if score >= 60: # 如果成绩大于等于60
print("考试及格!")
if score == 100: # 如果成绩等于100
print("满分!了不起!")
也可以组合多个条件,用逻辑运算符and(并且)、or(或者)、not(取反)。
and:两个条件都成立才为真。or:两个条件中有一个成立就为真。not:把真变成假,假变成真。
例子:判断一个年龄是否在6到12岁之间(包括6和12),是的话打印“你是个小学生”。
age = 10 # 年龄
if age >= 6 and age <= 12: # 注意:不能写成6 <= age <= 12?在Python中可以这样写,但初学者建议分开写更清晰
print("你是个小学生")
例子:周末或者放假,你都可以玩游戏。
is_weekend = False # 是否是周末
is_holiday = True # 是否放假
if is_weekend or is_holiday: # 如果周末或者放假
print("可以玩游戏啦!")
else:
print("今天要学习,不能玩游戏。")
例子:不是坏天气就可以去公园玩。
weather = "下雨" # 天气
if not (weather == "下雨" or weather == "下雪"): # 注意:括号改变运算顺序
print("去公园玩吧!")
else:
print("待在家里比较好。")
还可以用not直接判断布尔值。
五、新手最容易犯的错误
-
忘记冒号:
if、else、elif后面都要加英文冒号:。
❌ 错误:if num > 0
✅ 正确:if num > 0: -
缩进错误:if里面的代码必须缩进(一般是4个空格或一个Tab),并且同一级别的代码缩进要一致。
❌ 错误:print(...)(缩进用了不统一的空格和Tab)
✅ 正确:整段代码统一使用4个空格或一个Tab。 -
在条件里用单个等号:判断相等要用==,赋值才用=。
❌ 错误:if num = 5:(会报语法错误)
✅ 正确:if num == 5: -
elif写错成else if:Python里是
elif,不是else if。 -
条件顺序搞反:范围大的条件要放在前面,否则小范围条件永远没机会执行。
六、完整可运行的示例:成绩等级判定
下面是一个综合的例子,根据你的考试成绩,给出等级和评语。
# 输入成绩(假设是在0到100之间)
score = 88 # 考试成绩
if score >= 90: # 90分及以上为优秀
print("等级:优秀")
print("继续保持!")
elif score >= 75: # 75到89分为良好
print("等级:良好")
print("还不错,再加把劲!")
elif score >= 60: # 60到74分为及格
print("等级:及格")
print("刚好过关,需要努力哦!")
else: # 60分以下不及格
print("等级:不及格")
print("别灰心,下次加油!")
# 额外判断:如果满分或接近满分
if score == 100:
print("太棒了,你是学习小达人!")
elif score >= 95:
print("差一点就满分,继续加油!")
运行结果:
等级:良好
还不错,再加把劲!
(因为88在75~89之间,所以输出了良好部分。后面的if和elif不匹配,跳过。)
你可以试着修改score的值,看看不同结果。这个程序展示了if-elif-else和单独的if可以混用。
七、相关指引
学会了if语句,你的程序就从“一条路走到黑”变成了“会思考的机器人”。接下来你还想学什么?
- 循环(for、while):让程序重复做某些事,比如重复判断每天是否下雨。
- 布尔值(True/False):条件表达式的结果就是布尔值,理解它很重要。
- 嵌套if:在if里面再放一个if,处理更复杂的情况。
- input()输入:让用户输入数据,程序根据输入判断,更动态。
掌握了这些,你就能写出更有趣的程序,比如猜数字游戏、自动评分系统、甚至模拟红绿灯的小工具!
例题精讲
以下Python代码中,哪一项的if语句语法是正确的?
已知 x = 10,执行下面代码后输出的结果是? if x > 5: print('A') else: print('B')
在Python中,if语句的条件表达式后面必须加冒号,并且条件表达式可以是一个非布尔值,例如 if 1: 是合法的。
补全代码,使得当 score 大于等于60时输出"及格",否则输出"不及格"。
score = 75
___ score >= 60:
print("及格")
___:
print("不及格")补全代码,根据温度temperature输出对应的天气描述。
temperature = 30
if temperature > 35:
print("酷热")
___ temperature > 25:
print("炎热")
___:
print("舒适")