下载工作台
Python 编程实战

流程控制:条件与循环

试读上半部分 · 解锁后可读全文

第 3 章 · 流程控制

本章目标:熟练使用 if / elif / else 分支;掌握 forwhile 循环及 range();理解 breakcontinueelse 在循环中的用法;能编写 shop-demo 会员折扣与库存校验逻辑;了解 match-case(3.10+)基础。

学时建议:3~4 小时(含 1 小时跟练)

前置ch02 变量、比较与逻辑运算符。


3.1 条件语句 if

stock = 5
if stock > 0:
    print("有货,可下单")
else:
    print("暂时缺货")
要点说明
缩进同一代码块必须一致(推荐 4 空格)
冒号ifelifelse 行末要有 :
条件本质是布尔值,非零、非空为真
price = 49.9
if price >= 100:
    level = "高价"
elif price >= 30:
    level = "中价"
else:
    level = "低价"
print(level)  # 中价

嵌套与组合条件

is_member = True
amount = 120

if is_member:
    if amount >= 99:
        shipping = 0
    else:
        shipping = 6
else:
    shipping = 10 if amount >= 199 else 12

3.2 三元表达式

discount = 0.9 if qty >= 2 else 1.0
label = "有货" if stock > 0 else "缺货"

适合简单二选一,复杂逻辑仍用 if 块。


3.3 match-case(Python 3.10+)

def shipping_fee(region: str) -> int:
    match region:
        case "华东" | "华北":
            return 8
        case "华南":
            return 10
        case _:
            return 15

print(shipping_fee("华东"))  # 8
场景建议
多分支枚举match 清晰
范围比较仍用 if/elif
3.9 及以下match,用 if/elif

3.4 for 循环与 range

for i in range(5):       # 0, 1, 2, 3, 4
    print(i)

for i in range(2, 6):    # 2, 3, 4, 5
    print(i)

for i in range(0, 10, 2):  # 0, 2, 4, 6, 8
    print(i)
range 形式含义
range(n)0n-1
range(a, b)ab-1
range(a, b, step)步长 step

遍历序列

books = ["Python 基础", "Web 开发", "数据分析"]
for title in books:
    print(title)

for idx, title in enumerate(books, start=1):
    print(f"{idx}. {title}")

3.5 while 循环

count = 3
while count > 0:
    print(f"倒计时 {count}")
    count -= 1
print("开始营业")
for vs while选用
已知次数或遍历序列for
条件驱动、次数未知while
# 猜数字(教学示例)
secret = 7
attempts = 0
while attempts < 5:
    guess = int(input("猜一个 1~10 的数:"))
    attempts += 1
    if guess == secret:
        print("正确!")
        break
    print("不对,再试")
else:
    print("次数用尽")

3.6 break、continue 与 else

for n in range(1, 11):

以下内容需解锁后阅读

试读已结束。解锁本章 ¥5.00,或开通年度会员畅读全部教程。
年度会员 ¥199.00/年; 小紫 AI 工作台有效会员 ¥99.00/年

正文仅在服务端鉴权后下发,未付费无法获取下半部分内容。