Python流程控制
目录
第一章:条件控制语句(if)
第二章:循环结构
第三章:循环控制
第四章:实战技巧
第五章:调试与优化
第六章:综合练习
第一章:条件控制语句(if)
1.1 基本语法结构
# 基本格式(注意冒号和4空格缩进)
age = 18
if age >= 18:
print("已成年")
else:
print("未成年")
# 三目运算符简化版
status = "成年" if age >= 18 else "未成年"
1.2 条件表达式详解
运算符 | 说明 | 示例 |
== | 等于 | 5 == 3 → False |
!= | 不等于 | 5 != 3 → True |
> | 大于 | 5 > 3 → True |
< | 小于 | 5 < 3 → False |
>= | 大于等于 | 5 >= 5 → True |
<= | 小于等于 | 5 <= 3 → False |
# 复合条件判断示例
score = 85
if (score >= 80) and (score < 90): # 使用括号明确优先级
print("B等级")
1.3 多重条件判断
# 成绩评级系统
score = 78
if score >= 90:
print("A")
elif 80 <= score < 90: # 注意判断顺序
print("B")
elif 70 <= score < 80:
print("C")
else:
print("D")
1.4 典型错误案例
# 错误1:遗漏冒号
if score >= 60 # SyntaxError: expected ':'
# 错误2:缩进不一致
if score >= 90:
print("优秀") # 4空格
print("奖励") # 5空格→IndentationError
# 错误3:条件顺序错误
if score >= 60:
print("合格")
elif score >= 90: # 永远不会执行
print("优秀")
第二章:循环结构
2.1 while循环
# 基础计数器
count = 0
while count < 5:
print(f"当前次数: {count}")
count += 1
# 带异常处理
while True:
try:
num = int(input("输入数字: "))
break
except ValueError:
print("输入错误,请重试!")
2.2 for循环
# 遍历字符串
word = "Hello"
for char in word:
print(char) # 逐字符输出 H e l l o
# 遍历字典
grades = {"数学":90, "语文":85}
for subject, score in grades.items():
print(f"{subject}: {score}分")
2.3 range函数应用
# 生成数字序列
for i in range(3): # 0,1,2
for i in range(1, 5): # 1,2,3,4
for i in range(0, 10, 2): # 0,2,4,6,8
第三章:循环控制
3.1 break与continue
# 密码验证系统
max_attempts = 3
attempts = 0
while attempts < max_attempts:
pwd = input("输入密码: ")
if pwd == "123456":
print("登录成功!")
break
attempts += 1
else:
print("账户已锁定")
# 跳过奇数
for num in range(10):
if num % 2 != 0:
continue
print(num) # 0,2,4,6,8
3.2 循环嵌套
# 九九乘法表
for i in range(1, 10):
for j in range(1, i+1):
print(f"{j}x{i}={i*j}", end="\t")
print()
第四章:实战技巧
4.1 字符串格式化
# 三种格式化方法
name = "Alice"
print("欢迎 %s" % name) # 传统方法
print("欢迎 {}".format(name)) # format方法
print(f"欢迎 {name}") # f-string(推荐)
4.2 列表推导式
# 生成平方数列表
squares = [x**2 for x in range(10)]
# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
# 带条件筛选
even_squares = [x**2 for x in range(10) if x % 2 == 0]
# [0, 4, 16, 36, 64]
第五章:调试与优化
5.1 常见错误排查
# 错误:修改迭代中的列表
nums = [1,2,3,4,5]
for num in nums:
if num % 2 == 0:
nums.remove(num) # 错误方式
# 正确:遍历副本
for num in nums.copy():
if num % 2 == 0:
nums.remove(num)
5.2 性能优化
# 低效写法
result = []
for i in range(1000000):
result.append(i*2)
# 高效写法
result = [i*2 for i in range(1000000)]
第六章:综合练习
6.1 成绩管理系统
students = {}
while True:
name = input("输入学生姓名(q退出): ")
if name == 'q':
break
scores = []
for subject in ["数学", "语文", "英语"]:
while True:
try:
score = int(input(f"{subject}成绩: "))
if 0 <= score <= 100:
scores.append(score)
break
else:
print("成绩需在0-100之间")
except ValueError:
print("请输入数字!")
students[name] = sum(scores)/len(scores)
for name, avg in students.items():
print(f"{name}的平均分:{avg:.1f}")