🔀 Python控制流精通:条件语句与循环完全指南

控制流是编程的核心,它决定了代码执行的顺序和逻辑分支。Python提供了简洁而强大的控制流工具,让程序能够根据条件做出决策,重复执行特定任务。本文将深入讲解Python中的条件语句和循环结构,帮助你写出更灵活、更高效的代码。

一、条件语句:if-elif-else

1.1 基本语法

Python使用缩进来定义代码块,条件语句的基本结构如下:

age = 18

if age < 13:
    print("儿童")
elif age < 20:
    print("青少年")  # 输出:青少年
else:
    print("成年人")

1.2 条件表达式(三元运算符)

简洁的条件判断写法:

score = 85
result = "及格" if score >= 60 else "不及格"
print(result)  # 输出:及格

1.3 多条件组合

使用 andornot 组合多个条件:

username = "admin"
password = "123456"

if username == "admin" and password == "123456":
    print("登录成功!")
elif username == "admin" or username == "root":
    print("用户名正确,密码错误")
else:
    print("登录失败")

二、循环结构

2.1 for循环:遍历序列

for 循环用于遍历可迭代对象:

# 遍历列表
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
    print(f"我喜欢吃{fruit}")

# 使用range()生成数字序列
for i in range(5):
    print(i)  # 输出:0, 1, 2, 3, 4

# 带步长的range
for i in range(0, 10, 2):
    print(i)  # 输出:0, 2, 4, 6, 8

2.2 while循环:条件循环

当条件为真时持续执行:

count = 0
while count < 5:
    print(f"计数: {count}")
    count += 1

2.3 循环控制语句

语句作用
break 立即终止循环
continue 跳过当前迭代,继续下一次
else 循环正常结束时执行(未被break)
# break示例:查找第一个偶数
numbers = [1, 3, 5, 8, 9, 10]
for num in numbers:
    if num % 2 == 0:
        print(f"找到偶数: {num}")
        break

# continue示例:跳过偶数
for i in range(1, 6):
    if i % 2 == 0:
        continue
    print(f"奇数: {i}")  # 输出:1, 3, 5

# else示例:循环正常完成
for i in range(3):
    print(i)
else:
    print("循环完成!")  # 会执行

三、实用技巧

3.1 列表推导式(简洁的循环写法)

# 传统写法
squares = []
for x in range(10):
    squares.append(x**2)

# 列表推导式
squares = [x**2 for x in range(10)]

# 带条件的推导式
even_squares = [x**2 for x in range(10) if x % 2 == 0]

3.2 enumerate和zip

# enumerate:同时获取索引和值
names = ["Alice", "Bob", "Charlie"]
for index, name in enumerate(names, 1):
    print(f"{index}. {name}")

# zip:并行遍历多个序列
names = ["Alice", "Bob"]
ages = [25, 30]
for name, age in zip(names, ages):
    print(f"{name}今年{age}岁")

3.3 嵌套循环

# 打印乘法表
for i in range(1, 10):
    for j in range(1, i + 1):
        print(f"{j}×{i}={i*j}", end="\t")
    print()

四、综合实例

def guessing_game():
    """猜数字游戏"""
    import random
    secret = random.randint(1, 100)
    attempts = 0
    max_attempts = 7
    
    print("🎮 猜数字游戏!我想了一个1-100之间的数字。")
    
    while attempts < max_attempts:
        try:
            guess = int(input(f"第{attempts + 1}次尝试,请输入你的猜测: "))
            attempts += 1
            
            if guess < secret:
                print("📉 太小了!")
            elif guess > secret:
                print("📈 太大了!")
            else:
                print(f"🎉 恭喜你!答案就是{secret},用了{attempts}次")
                return
        
        except ValueError:
            print("❌ 请输入有效的数字!")
    
    print(f"😢 游戏结束!正确答案是{secret}")

# 运行游戏
# guessing_game()

五、总结

控制流类型适用场景关键语法
if-elif-else 条件判断 if condition:
for 遍历已知序列 for item in iterable:
while 条件满足时循环 while condition:
break 提前退出循环 break
continue 跳过当前迭代 continue

掌握控制流是编写实用程序的基础。建议多练习,特别是结合实际问题来应用这些知识。记住:代码的可读性比炫技更重要,选择最清晰的表达方式!


💡 小提示:Python没有switch-case语句(3.10+可用match-case),但用字典映射通常是更Pythonic的替代方案。

posted @ 2026-03-22 19:33  码小小小仙  阅读(8)  评论(0)    收藏  举报