Python2026年9月21日· 约 10 分钟

第4篇:《Python 流程控制——条件判断与循环结构》

#条件判断#循环结构#流程控制#if语句#elif语句
Twitter 微博

第4篇:《Python 流程控制——条件判断与循环结构》

 


【Python零基础入门】第4篇:《Python 流程控制——条件判断与循环结构》

导语: 在前面的课程中,我们编写的代码都是“一条路走到黑”——从上到下按顺序执行。但在现实生活中,我们常常需要根据情况做出选择(如果下雨就带伞),或者重复做某件事(每天跑3公里)。 今天,我们将学习 Python 的流程控制,让你的程序拥有“判断力”和“执行力”,真正活起来!


一、 条件判断:让程序学会“思考”#

条件判断的核心是 if 语句。在 Python 中,缩进(通常是4个空格) 是代码块的灵魂,它决定��哪些代码属于哪个条件分支。

1. 单分支:if#

当条件为真(True)时,执行缩进的代码块。

age = 20
if age >= 18:
    print("你已经成年了,可以考取驾照!")
    print("欢迎加入成年人的世界。")
# 注意:这两行 print 都有缩进,它们同属于 if 代码块

2. 双分支:if-else#

非此即彼,条件为真执行 if,否则执行 else

score = 55
if score >= 60:
    print("恭喜,考试及格!")
else:
    print("很遗憾,考试不及格,需要补考。")

3. 多分支:if-elif-else#

当有多个条件需要判断时,使用 elif(else if 的缩写)。注意:elif 可以有多个,但 else 最多只能有一个,且必须放在最后。

score = 85

if score >= 90: grade = "A (优秀)" elif score >= 80: grade = "B (良好)" elif score >= 60: grade = "C (及格)" else: grade = "D (不及格)"

print(f"你的成绩等级是:{grade}")

⚠️ 避坑警告:在条件判断中,千万不要把比较运算符 == 写成赋值运算符 =

  • if x == 5: (正确:判断 x 是否等于 5)
  • if x = 5: (错误:会导致 SyntaxError 语法错误)

二、 循环结构:让程序不知疲倦地“重复”#

Python 提供了两种循环方式:while 循环和 for 循环。

1. while 循环(条件循环)#

只要条件为 True,就会一直执行下去。务必确保条件最终会变为 False,否则会陷入“死循环”!

count = 1
while count <= 3:
    print(f"这是第 {count} 次循环")
    count += 1  # ⚠️ 别忘了更新变量,否则死循环!

print("循环结束!")

2. for 循环(遍历循环)#

for 循环用于遍历任何可迭代对象(如字符串、列表,以及 range 生成的序列)。它是 Python 中最常用的循环。

遍历字符串:

for char in "Python":
    print(char, end=" ")  # 输出: P y t h o n 

配合 range() 函数使用: range(start, stop, step) 用于生成一个整数序列。��意:包含 start,但不包含 stop(左闭右开)。

# 打印 0 到 4
for i in range(5):
    print(i)  # 输出: 0, 1, 2, 3, 4

打印 1 到 9 的奇数 (步长为2)

for i in range(1, 10, 2): print(i) # 输出: 1, 3, 5, 7, 9


三、 循环控制语句:精准掌控循环#

有时候我们需要在循环中途进行干预,这就需要用到以下三个关键字:

关键字作用形象比喻
break 立即终止整个循环,跳出循环体。 直接摔盘子,不干了!
continue 跳过本次循环剩余的代码,直接进入下一次循环。 跳过这道菜,吃下一道!
pass 空语句,占位符,什么都不做。 假装在思考,其实啥也没干。

代码演示:

# 演示 break 和 continue
for i in range(1, 6):
    if i == 2:
        continue  # 当 i=2 时,跳过本次,不打印
    if i == 4:
        break     # 当 i=4 时,直接终止整个循环
print(fclass="hljs-string">"当前数字是: {i}")

输出结果:

当前数字是: 1

当前数字是: 3


四、 实战演练:猜数字小游戏#

让我们把条件判断和循环结合起来,写一个经典的“猜数字”游戏。程序会随机生成一个 1-100 的数字,玩家有 5 次机会去猜。

import random  # 导入随机数模块

1. 生成 1 到 100 之间的随机整数

secret_number = random.randint(1, 100) max_attempts = 5 attempts = 0

print("🎮 欢迎来到猜数字游戏!") print(f"我已经想好了一个 1 到 100 之间的数字,你有 {max_attempts} 次机会。")

2. 使用 while 循环控制游戏流程

while attempts < max_attempts: # 获取用户输入并转换为整数 guess = int(input(f"\n[第 {attempts + 1} 次] 请输入你猜的数字:")) attempts += 1

class=class="hljs-string">"hljs-comment"># class="hljs-number">3. 条件判断
if guess &lt; secret_number:
    print(class="hljs-string">"📉 太小了!再往大了猜。")
elif guess &gt; secret_number:
    print(class="hljs-string">"📈 太大了!再往小了猜。")
else:
    print(fclass="hljs-string">"🎉 恭喜你,猜对了!答案就是 {secret_number}。")
    print(fclass="hljs-string">"你总共猜了 {attempts} 次。")
    break  class=class="hljs-string">"hljs-comment"># 猜对了,跳出循环

4. 循环正常结束(没有触发 break)的情况

else: print(f"\n💀 很遗憾,{max_attempts} 次机会用光了!") print(f"正确的数字其实是:{secret_number}")

💡 进阶知识点:在 Python 中,whilefor 循环后面可以跟一个 else 块。如果循环是正常结束的(没有被 break 打断),就会执行 else 块。这在处理“搜索/查找”类逻辑时非常优雅!


五、 新手避坑指南#

常见错误/疑惑原因分析正确做法
IndentationError 缩进不一致,或者该缩进的地方没缩进。 严格使用 4个空格 进行缩进,不要用 Tab 键混用。
死循环 while 循环的条件永远为 True,且内部没有改变条件的代码或 break 检查循环体内是否有更新控制变量的代码(如 i += 1)。
range 边界漏数 以为 range(1, 5) 会包含 5。 牢记 range左闭右开,包含起点,不包含终点。应写为 range(1, 6)
多分支逻辑漏洞 if-elif 顺序写反,导致后面的条件永远无法触发。 条件判断应遵循从严格到宽泛(或从小到大/从大到小)的顺序。

六、 本篇小结与下期预告#

📝 核心知识点回顾#

  1. 条件判断if-elif-else 结构,依靠缩进划分代码块,注意 === 的区别。
  2. 循环结构while 适合条件循环,for 适合遍历循环;掌握 range() 函数的用法。
  3. 控制语句break 跳出循环,continue 跳过当次,pass 用于占位。
  4. 循环的 else:循环未被 break 打断时执行,是 Python 的特色语法。

🚀 下期预告#

目前我们只能把数据存在一个个独立的变量里,如果要存全班 50 个同学的成绩怎么办? 在《第5篇:数据容器——列表、元组、字典与集合》中,我们将:

  • 学习 Python 最核心的四大数据结构(List, Tuple, Dict, Set)。
  • 掌握数据的增、删、改、查操作。
  • 了解它们各自的应用场景与性能差异。

💬 互动时间: 你在玩“猜数字”游戏时,最少用了几次猜中?在写循环时有没有不小心搞出过“死循环”?欢迎在评论区分享你的“翻车”或“高光”经历,博主会逐一回复!


本文属于【Python零基础入门】系列教程,欢迎关注博主,订阅专栏,带你从零开始系统掌握 Python!


原文链接:https://www.cnblogs.com/bigant9527/p/23062748

评论

© 2026 松岛川树