CC++ & Algorithm

Python if 语句

中等5
语言版本:C++Python
概述:学习用if语句让程序根据条件做不同选择,就像十字路口的红绿灯。

学会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-elseelif是“else if”的缩写。程序会从上到下依次检查每个条件,遇到第一个成立的条件就执行对应的代码,然后跳过后面所有的判断。

if 条件1:
    条件1成立时做的事
elif 条件2:
    条件2成立时做的事(条件1不成立)
elif 条件3:
    条件3成立时做的事(条件12都不成立)
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直接判断布尔值。

五、新手最容易犯的错误

  1. 忘记冒号ifelseelif后面都要加英文冒号:
    ❌ 错误:if num > 0
    ✅ 正确:if num > 0:

  2. 缩进错误:if里面的代码必须缩进(一般是4个空格或一个Tab),并且同一级别的代码缩进要一致。
    ❌ 错误: print(...) (缩进用了不统一的空格和Tab)
    ✅ 正确:整段代码统一使用4个空格或一个Tab。

  3. 在条件里用单个等号:判断相等要用==,赋值才用=。
    ❌ 错误:if num = 5: (会报语法错误)
    ✅ 正确:if num == 5:

  4. elif写错成else if:Python里是elif,不是else if

  5. 条件顺序搞反:范围大的条件要放在前面,否则小范围条件永远没机会执行。

六、完整可运行的示例:成绩等级判定

下面是一个综合的例子,根据你的考试成绩,给出等级和评语。

# 输入成绩(假设是在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之间,所以输出了良好部分。后面的ifelif不匹配,跳过。)

你可以试着修改score的值,看看不同结果。这个程序展示了if-elif-else和单独的if可以混用。

七、相关指引

学会了if语句,你的程序就从“一条路走到黑”变成了“会思考的机器人”。接下来你还想学什么?

  • 循环(for、while):让程序重复做某些事,比如重复判断每天是否下雨。
  • 布尔值(True/False):条件表达式的结果就是布尔值,理解它很重要。
  • 嵌套if:在if里面再放一个if,处理更复杂的情况。
  • input()输入:让用户输入数据,程序根据输入判断,更动态。

掌握了这些,你就能写出更有趣的程序,比如猜数字游戏、自动评分系统、甚至模拟红绿灯的小工具!

例题精讲

1单选题

以下Python代码中,哪一项的if语句语法是正确的?

Aif x > 5: print('大')
Bif x > 5 print('大')
Cif x > 5: print('大') 缩进4个空格
Dif x > 5: print('大') 缩进没有要求
2单选题

已知 x = 10,执行下面代码后输出的结果是? if x > 5: print('A') else: print('B')

AA
BB
C无输出
D报错
3判断题

在Python中,if语句的条件表达式后面必须加冒号,并且条件表达式可以是一个非布尔值,例如 if 1: 是合法的。

4填空题
补全代码,使得当 score 大于等于60时输出"及格",否则输出"不及格"。
score = 75
___ score >= 60:
    print("及格")
___:
    print("不及格")
5填空题
补全代码,根据温度temperature输出对应的天气描述。
temperature = 30
if temperature > 35:
    print("酷热")
___ temperature > 25:
    print("炎热")
___:
    print("舒适")