(三)Python基础入门-流程控制结构

60 阅读3分钟

概览

  • 条件语句(if/elif/else嵌套)
  • 循环结构(while/for循环)
  • 循环控制(break/continue/pass)
  • 实战:猜数字游戏/乘法表生成

流程控制是编程的核心基础,决定了代码的执行逻辑。Python提供了强大的流程控制工具,让我们能够编写灵活高效的程序。本文将深入讲解Python中的流程控制结构,包括条件语句、循环结构以及循环控制语句,并通过两个实战项目巩固所学知识。

一、条件语句(if/elif/else嵌套)

条件语句允许根据不同的条件执行不同的代码块,是程序决策的基础。

基本语法

if 条件1:
    # 条件1成立时执行
elif 条件2:
    # 条件2成立时执行
else:
    # 所有条件均不成立时执行

嵌套示例:成绩评级系统

score = 85

if score >= 90:
    grade = "A"
elif score >= 80:
    # 嵌套条件判断
    if score >= 85:  # 80-89分区间再细分
        grade = "B+"
    else:
        grade = "B"
elif score >= 70:
    grade = "C"
else:
    grade = "D(不及格)"

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

关键点:

  1. if 语句必须有,elif和else可选
  2. 条件表达式结果为布尔值(True/False)
  3. 支持逻辑运算符:and, or, not

二、循环结构

1. while循环:当条件满足时重复执行

count = 0
while count < 5:
    print(f"这是第{count+1}次循环")
    count += 1  # 等效于 count = count + 1

2. for循环:遍历序列中的元素

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

# 配合range()生成数字序列
for i in range(3):      # 0, 1, 2
    print(f"循环次数:{i}")

for i in range(1, 10, 2):  # 1~9,步长为2
    print(f"奇数:{i}")

循环应用场景对比

循环类型适用场景特点
while不确定循环次数(如用户输入验证)需手动更新循环条件
for遍历已知序列(列表、字符串等)自动迭代

三、循环控制语句

1. break:立即终止整个循环

# 在数字1-10中查找第一个能被3整除的数
for num in range(1, 11):
    if num % 3 == 0:
        print(f"找到第一个3的倍数:{num}")
        break

2. continue:跳过本次循环剩余代码

# 打印1-10中所有的奇数
for num in range(1, 11):
    if num % 2 == 0:
        continue  # 跳过偶数
    print(num)

3. pass:空操作占位符

# 函数未实现时占位
def future_feature():
    pass  # TODO: 后续实现此功能

控制语句对比表

语句作用使用场景
break完全终止循环满足条件时立即退出循环
continue跳过当前循环的剩余代码排除特定情况继续循环
pass空操作,保持语法完整性占位尚未实现的代码块

四、实战项目

项目1:猜数字游戏

import random

number = random.randint(1, 100)  # 生成1-100的随机数
attempts = 0

print("欢迎来到猜数字游戏!")
print("我已经想了一个1到100之间的整数,请开始猜测吧~")

while True:
    guess = int(input("请输入你的猜测:"))
    attempts += 1
    
    if guess < number:
        print("猜小了,再试试!")
    elif guess > number:
        print("猜大了,再试试!")
    else:
        print(f"恭喜!你在{attempts}次尝试后猜中了数字{number}!")
        break

项目2:乘法表生成器

# 生成9x9乘法表
for i in range(1, 10):
    for j in range(1, i+1):
        # 格式化输出,保持对齐
        print(f"{j}x{i}={i*j}", end='\t')  
    print()  # 每行结束换行

# 进阶:生成任意乘法表
n = int(input("请输入乘法表尺寸:"))
for row in range(1, n+1):
    for col in range(1, row+1):
        result = row * col
        print(f"{col}x{row}={result}", end=' '*(4-len(str(result))))
    print()

本文由元来智联开发团队出品:元来智联-网站、小程序等定制开发,专业开发服务商