Python编程训练营04-Python 程序控制语句详解
相关文章
《Python编程实战营05:Python 标准输入输出语句详解》
《Python编程训练营04-Python 程序控制语句详解》
《Python编程实战营-03.Python 基本语法规则详细介绍》
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 时整个条件为 Trueor:任一条件为 True 时整个条件为 Truenot:取反条件
示例:判断年龄是否在 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)和避免死循环。
掌握这些基础控制语句是编写复杂程序的核心,需重点关注条件逻辑、循环边界和缩进规范
更多推荐

所有评论(0)