本文将系统地介绍Python中的流程控制语句,帮助您掌握程序逻辑的基本构建块。通过本教程,您将学会如何控制程序的执行流程,实现复杂的逻辑控制。
学习目标
- 理解条件语句(if-elif-else)的使用
- 掌握各种循环结构(for和while)
- 学会使用break和continue控制循环
- 理解异常处理机制
1. 条件语句
1.1 if语句基础
# 基本if语句
age = 18
if age >= 18:
print("您已成年")
# if-else语句
temperature = 35
if temperature > 37.3:
print("体温偏高")
else:
print("体温正常")
# if-elif-else语句
score = 85
if score >= 90:
grade = 'A'
elif score >= 80:
grade = 'B'
elif score >= 70:
grade = 'C'
else:
grade = 'D'
1.2 条件表达式(三元运算符)
# 普通if-else
age = 20
if age >= 18:
status = "成年"
else:
status = "未成年"
# 使用条件表达式
status = "成年" if age >= 18 else "未成年"
2. 循环语句
2.1 for循环
# 遍历列表
fruits = ['苹果', '香蕉', '橙子']
for fruit in fruits:
print(f"我喜欢吃{fruit}")
# 使用range()
for i in range(5):
print(i) # 输出0到4
# 遍历字典
student = {'name': '张三', 'age': 18, 'grade': '高一'}
for key, value in student.items():
print(f"{key}: {value}")
2.2 while循环
# 基本while循环
count = 0
while count < 5:
print(count)
count += 1
# 带条件的while循环
number = 1
while number <= 100:
if number % 7 == 0:
print(f"{number}是7的倍数")
number += 1
3. 循环控制语句
3.1 break语句
# 在循环中使用break
for i in range(1, 11):
if i == 5:
break
print(i)
# 输出1, 2, 3, 4
# 在while循环中使用break
number = 1
while True:
if number > 5:
break
print(number)
number += 1
3.2 continue语句
# 跳过偶数
for i in range(1, 6):
if i % 2 == 0:
continue
print(i)
# 输出1, 3, 5
4. 异常处理
4.1 try-except基础
# 基本异常处理
try:
number = int(input("请输入一个数字:"))
result = 100 / number
print(f"100除以{number}等于{result}")
except ValueError:
print("请输入有效的数字!")
except ZeroDivisionError:
print("除数不能为零!")
4.2 完整的异常处理结构
try:
file = open("example.txt", "r")
content = file.read()
except FileNotFoundError:
print("文件不存在")
else:
print("文件读取成功")
print(content)
finally:
file.close()
5. 实践示例
5.1 猜数字游戏
import random
def guess_number():
target = random.randint(1, 100)
attempts = 0
while True:
attempts += 1
try:
guess = int(input("猜一个1-100之间的数字:"))
if guess < target:
print("太小了!")
elif guess > target:
print("太大了!")
else:
print(f"恭喜你猜对了!用了{attempts}次")
break
except ValueError:
print("请输入有效的数字!")
5.2 简单的菜单系统
def show_menu():
while True:
print("\n=== 菜单 ===")
print("1. 查看商品")
print("2. 添加到购物车")
print("3. 结算")
print("4. 退出")
choice = input("请选择操作(1-4):")
if choice == '1':
print("显示商品列表...")
elif choice == '2':
print("添加商品到购物车...")
elif choice == '3':
print("正在结算...")
elif choice == '4':
print("谢谢使用,再见!")
break
else:
print("无效的选择,请重试")
练习题
- 编写一个程序,判断用户输入的年份是否为闰年
- 创建一个简单的计算器程序,支持基本运算
- 实现一个简单的用户登录系统
- 编写程序统计文本中每个字符出现的次数
进阶挑战
- 实现一个简单的ATM机系统
- 创建一个文件备份程序
- 开发一个简单的成绩管理系统
常见问题解答
1. 如何选择使用for循环还是while循环?
- for循环:适用于已知迭代次数的情况
- while循环:适用于基于条件的循环
2. break和continue的区别?
- break:完全结束循环
- continue:跳过当前迭代,继续下一次迭代