相关文章

Python编程实战营06-输出格式化控制详解

Python编程实战营05:Python 标准输入输出语句详解

Python编程训练营04-Python 程序控制语句详解

Python编程实战营-03.Python 基本语法规则详细介绍

Python编程实战营-02.数据类型

Python 程序控制语句详解

一、顺序语句

Python 程序默认按代码书写顺序从上到下、从左到右依次执行,无分支或循环控制,是最基础的执行逻辑。

1. 概念与语法

顺序执行是 Python 的默认流程,代码按行顺序依次执行,无需特殊符号或结构。

2. 示例

python

# 顺序执行示例:赋值、运算、打印
a = 10
b = 20
sum_ab = a + b  # 按顺序计算
print("a + b =", sum_ab)  # 输出:a + b = 30
3. 常见问题
  • 变量未定义错误:使用未赋值的变量会直接报错。

    python

    print(x)  # NameError: name 'x' is not defined
    
  • 数据类型不匹配:不同类型数据直接运算会报错。

    python

    a = "10"
    b = 20
    c = a + b  # TypeError: can only concatenate str (not "int") to str
    
  • 缩进错误:顺序执行中虽不强制缩进,但函数 / 类内缩进错误会导致逻辑混乱。
二、条件语句

根据条件的真假执行不同代码块,实现分支逻辑。Python 支持单条件、二选一、多条件判断。

1. 单条件判断(if)

语法

python

if 条件表达式:
    # 条件为 True 时执行的代码块(需缩进)
    语句1
    语句2
# 后续代码(无论是否执行 if 块,均会执行)
语句3

示例:判断数字是否为正数

python

num = 5
if num > 0:
    print(f"{num} 是正数")  # 输出:5 是正数
2. 二选一判断(if-else)

语法

python

if 条件表达式:
    # 条件为 True 时执行
    语句1
else:
    # 条件为 False 时执行
    语句2

示例:判断数字正负

python

num = -3
if num > 0:
    print(f"{num} 是正数")
else:
    print(f"{num} 是非正数")  # 输出:-3 是非正数
3. 多条件判断(if-elif-else)

语法

python

if 条件1:
    语句1
elif 条件2:
    语句2
elif 条件3:
    语句3
else:
    语句4  # 所有条件不满足时执行

特点:条件按顺序判断,第一个满足的条件执行后,后续条件不再判断

示例:成绩评级

python

score = 85
if score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")
elif score >= 60:
    print("及格")
else:
    print("不及格")  # 输出:良好
4. 逻辑运算符与复合条件

条件表达式可通过 and(与)、or(或)、not(非)组合:

  • and:所有条件为 True 时整个条件为 True
  • or:任一条件为 True 时整个条件为 True
  • not:取反条件

示例:判断年龄是否在 18-60 之间

python

age = 25
score = 80
if age >= 18 and age <= 60 and score > 60:
    print("符合条件")  # 输出:符合条件
5. 条件表达式(三元运算符)

语法结果 = 表达式1 if 条件 else 表达式2说明:条件为 True 时返回表达式 1,否则返回表达式 2。

示例:简化二选一逻辑

python

num = 5
result = "正数" if num > 0 else "非正数"
print(result)  # 输出:正数
6. 常见问题
  • 条件判断错误:误用赋值运算符 = 代替相等运算符 ==,如 if num = 5(语法错误,会报错)。
  • 条件顺序错误:多条件判断中,宽泛条件(如 >= 80)放在精确条件(如 >= 90)前,导致逻辑错误。

    python

    # 错误示例:90分以上会被误判为80分以上
    score = 95
    if score >= 80:
        print("良好")
    elif score >= 90:
        print("优秀")  # 输出:良好(错误)
    
  • 缩进错误:if/elif/else 后的代码块未缩进或缩进不一致(Python 严格依赖缩进)。
  • 忽略 else:多条件判断中遗漏 else,导致部分情况逻辑缺失。
三、循环语句

循环通过重复执行代码块实现批量操作,Python 支持 for(遍历迭代对象)和 while(条件触发)两种循环。

1. for 循环

语法:遍历可迭代对象(列表、字符串、range 等),执行代码块。

python

for 变量 in 可迭代对象:
    # 每次迭代执行的代码
    语句1
    语句2

示例 1:遍历列表

python

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)  # 逐行输出列表元素

示例 2:使用 range 控制循环次数range(start, stop, step):生成整数序列(start 默认为 0,stop 不包含,step 默认为 1)。

python

# 0到4(包含0,不包含5)
for i in range(5):
    print(i)  # 输出:0,1,2,3,4

# 2到5(不包含6)
for j in range(2, 6):
    print(j)  # 输出:2,3,4,5

# 1到10,步长为2(1,3,5,7,9)
for k in range(1, 10, 2):
    print(k)
2. while 循环

语法:条件为 True 时重复执行代码块,需注意避免死循环

python

while 条件表达式:
    # 条件为 True 时执行
    语句1
    语句2
    # 需更新条件相关变量,否则永远为 True

示例 1:基础循环

python

count = 0
while count < 5:
    print(f"计数:{count}")
    count += 1  # 必须更新条件,否则死循环
# 输出:0,1,2,3,4

示例 2:处理用户输入(防止死循环)

python

password = "python123"
while True:  # 死循环,需用 break 终止
    user_input = input("请输入密码:")
    if user_input == password:
        print("密码正确!")
        break  # 退出循环
    else:
        print("密码错误,重试...")
3. 循环控制:break 与 continue
  • break:立即终止整个循环,跳出循环体。

    python

    for i in range(10):
        if i == 5:
            break
        print(i)  # 输出:0,1,2,3,4(i=5时终止)
    
  • continue:跳过本次循环剩余语句,进入下一次迭代。

    python

    for i in range(10):
        if i % 2 == 0:
            continue  # 仅跳过偶数
        print(i)  # 输出:1,3,5,7,9
    
4. 嵌套循环

循环内嵌套另一个循环,适用于处理二维数据(如矩阵、表格)。

示例:打印九九乘法表

python

for i in range(1, 10):
    for j in range(1, i+1):
        print(f"{j}×{i}={i*j}\t", end="")
    print()  # 换行
5. 循环 else 子句

语法:循环正常结束(无 break 时)执行 else 块。

示例

python

for i in range(5):
    print(i)
else:
    print("循环正常结束")  # 输出:0,1,2,3,4,循环正常结束

# 若含 break,else 不执行
for i in range(5):
    if i == 3:
        break
    print(i)
else:
    print("循环正常结束")  # 无输出(因 break 终止循环)
6. 常见问题
  • 死循环:循环条件永远为 True(如 count = 0; while count < 5: count = 0)。
  • range 参数错误:step 为正数时 start 必须小于 stop,否则返回空序列。

    python

    for i in range(5, 2):  # 无输出(start=5 > stop=2,step=1)
        print(i)
    
  • 遍历列表时修改列表:如 for num in [1,2,3,4]: del num,可能导致迭代错误。
  • 嵌套循环缩进错误:内层循环缩进错误,导致逻辑混乱。
总结
  • 顺序语句:默认执行,依赖代码顺序。
  • 条件语句:通过 if-elif-else 实现分支,注意条件判断和缩进。
  • 循环语句for 遍历迭代对象,while 凭条件触发,需注意循环控制(break/continue)和避免死循环。

掌握这些基础控制语句是编写复杂程序的核心,需重点关注条件逻辑、循环边界和缩进规范

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐