CC++ & Algorithm

Python if 语句基础

简单8
语言版本:C++Python
概述:学习如何使用 if 语句让程序根据条件做出决定,就像生活中的“如果……就……”一样简单。

用 if 语句让程序学会做选择

你有没有做过这样的决定?如果今天下雨,就带伞出门。在编程里,我们也可以用同样的逻辑来让程序做选择。Python 中的 if 语句就是用来写这种“如果……就……”规则的。

只要告诉程序“如果某个条件成立了,执行这些动作”,程序就能根据实际情况自动做出反应。就像你自己判断“如果作业写完了,就可以玩一会儿”一样简单。


if 语句长什么样?

写一个 if 语句要分三步:

  1. 写出 if 关键字。
  2. if 后面写一个条件(比如:是不是下雨了)。
  3. 条件后面要加一个英文冒号 :,然后缩进(通常敲4个空格)写条件成立时要执行的代码。

下面的例子模仿了生活中的判断:如果作业做完了,就奖励自己玩一会儿。

homework_done = True  # 作业做完了吗?(True表示做完)

if homework_done:
    print("可以玩一会儿了!")

运行这个程序,因为条件 homework_doneTrue,所以会显示“可以玩了一会儿”。如果改成 False,就什么都不会输出。

? 小提示TrueFalse 在 Python 里叫布尔值,专门用来表示“成立”和“不成立”。if 后面可以直接放一个布尔值,也可以放一个能算出布尔值的表达式(比如比较运算)。


用比较运算符写条件

条件通常是比较两个东西,比如判断数字大小、判断是否相等。常见符号:

  • > 大于
  • < 小于
  • >= 大于等于
  • <= 小于等于
  • == 等于(注意是两个等号)
  • != 不等于

举个例子:判断年龄是否满12岁。

age = 10  # 当前的年龄
if age >= 12:
    print("可以参加这个活动")

因为 age >= 12False(10 并不大于等于 12),所以程序不会打印任何信息。如果把 age 改成 14,条件就成真了,屏幕就会显示“可以参加这个活动”。

生活中的例子:判断今天的气温是否超过 30 度,提醒多喝水。

temperature = 35  # 今天的最高气温
if temperature > 30:
    print("天气很热,多喝水")  # 条件成立就执行这一行

输出:天气很热,多喝水

另一个例子:判断第二天是否是周末,决定要不要早起。

is_weekend = False  # 明天是周末吗?
if is_weekend == False:  # 也可以直接写 if not is_weekend:,但这里先学 ==
    print("明天要上学,快起床!")

条件 is_weekend == FalseTrue,所以会打印提醒。


注意缩进——为程序排版

缩进非常重要!if 下面要执行的代码必须向右缩进,否则 Python 会报错或者理解错你的意思。

# 正确的缩进
score = 90
if score >= 60:
    print("恭喜你,及格了!")   # 这一行前面有4个空格
    print("继续加油哦!")       # 同一级别的条件代码,缩进要一致

# 错误的缩进(会报错)
if score >= 60:
print("没有缩进,Python 会生气")  # 这里没缩进,会报 IndentationError

规律:所有属于“条件成立时要做的事”都要往右缩进相同的格数。通常按一下 Tab 键或敲 4 个空格。


常见踩坑:新手容易犯哪些错

  1. 忘记冒号

    if score >= 60   # 少了冒号,会报错
    

    正确:if score >= 60:

  2. 条件里用单等号 =(赋值)代替双等号 ==

    if score = 60:   # 错误!=是赋值,不是比较
    

    正确:if score == 60:

  3. 缩进不一致
    有时用空格,有时用Tab,或者同一段代码缩进量不同,会让 Python 搞混。建议全程只用4个空格。

  4. 条件写法太复杂
    一开始尽量写简单的比较。比如 if money >= 100:if money + allowance > 150: 更好理解。

  5. 忘记条件可以是布尔变量
    如果已经有了一个布尔值(is_raining = True),可以直接写 if is_raining:,不必写成 if is_raining == True:,两种都可以,但第一种更简洁。


完整示例:一个判断成绩的小程序

下面这个完整的程序会询问用户考试成绩(整数),然后根据分数给出不同提示。

# 获取用户输入的成绩(字符串转整数)
score_input = input("请输入你的考试成绩(0-100):")
score = int(score_input)  # 转换成整数

# 判断是否及格
if score >= 60:
    print("恭喜!你及格了。")
    print("继续努力,争取更好成绩!")

# 判断是否满分
if score == 100:
    print("太棒了,你是满分!")

# 判断是否不及格
if score < 60:
    print("这次不太理想,加油复习!")

运行效果示例:

请输入你的考试成绩(0-100):85
恭喜!你及格了。
继续努力,争取更好成绩!

如果输入 100,还会多显示一行“太棒了,你是满分!”。


更多可能

现在你已经学会了最基本的 if 判断。但程序常常不光只有“如果……就……”,还有“否则……”。比如:

  • 如果今天下雨,就带伞;否则(没下雨)就不带伞。
  • 如果考试及格,就说“通过”;否则就说“补考”。

这就要用到 if-else 结构。当你掌握了 if 之后,下一步就可以学习 if-elseelif(多个条件判断)。另外,你也可以试试把条件写得复杂一点,比如用 and(并且)、or(或者)连接多个条件。

相关指引

  • [if-else 语句:让程序二选一]
  • [多条件判断:elif 和逻辑运算符]
  • [布尔值 True 和 False 的更多玩法]

现在,自己动手试试上面的小练习吧:如果今天温度高于30度,就提醒“天气很热,多喝水”。祝你编程愉快!

例题精讲

1单选题

在Python中,以下哪个是正确的if语句写法?

Aif x > 0 print('正数')
Bif x > 0: print('正数')
Cif x > 0: \n print('正数')
Dif x > 0 \n print('正数')
2单选题

已知变量score = 85,下列哪个if语句能正确判断'成绩优秀'(score >= 80)并输出?

Aif score >= 80: print('优秀')
Bif score = 80: print('优秀')
Cif score > 80 or score == 80: print('优秀')
Dif score >= 80 print('优秀')
3判断题

在Python中,if语句后面的条件表达式可以不加括号,例如:if x > 0: 是正确的。

4判断题

执行以下代码: x = 5 if x > 10: print('大') else: print('小') 输出结果为'小'。

5填空题
以下程序想要判断变量num是否为偶数,如果是则输出“偶数”。请补全代码。
num = 8
if ___ :
    print('偶数')