[1. 单分支 if](#1. 单分支 if)
[2. 双分支 if-else](#2. 双分支 if-else)
[3. 多分支 if-elif-else](#3. 多分支 if-elif-else)
[1. for循环](#1. for循环)
[2. while循环](#2. while循环)
[3. 循环控制语句](#3. 循环控制语句)
前言
这部分内容之前写过,但感觉不是特别好,不方便以后翻阅,所以重新整理。有问题欢迎随时指正。
一、控制结构概述
Python的控制结构分为三种基本类型:顺序结构 、选择结构(分支结构) 和 循环结构。它们决定了代码的执行流程和逻辑。
二、顺序结构
定义 :代码按书写顺序从上到下逐行执行,无分支或循环。
示例:
python
# 变量赋值与打印输出
name = "Alice"
age = 25
print(f"Name: {name}, Age: {age}")
三、选择结构(分支结构)
根据条件判断结果,选择不同代码块执行。
1. 单分支 if
python
# 判断数字正负
num = -5
if num > 0:
print("正数")
2. 双分支 if-else
python
# 根据成绩输出等级
score = 85
if score >= 90:
print("优秀")
else:
print("需努力")
3. 多分支 if-elif-else
python
# 判断数字能否被2、3、5整除
num = 15
if num % 2 == 0:
print("能被2整除")
elif num % 3 == 0:
print("能被3整除")
elif num % 5 == 0:
print("能被5整除")
else:
print("不能被2、3、5整除")
4.实际应用:
用户权限验证
python
user_role = "admin"
if user_role == "admin":
print("显示所有管理功能")
elif user_role == "editor":
print("显示编辑面板")
else:
print("仅限浏览模式")
四、循环结构
重复执行某段代码,分为for
循环和while
循环。
1. for
循环
python
# 遍历列表
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
# 遍历字典
person = {"name": "Bob", "age": 30}
for key, value in person.items():
print(f"{key}: {value}")
# 使用range函数
for i in range(5): # 输出0-4
print(i)
实际应用:批量文件重命名
python
files = ["report.txt", "image.jpg", "data.csv"]
for filename in files:
if filename.endswith(".txt"):
print(f"处理文本文件: {filename}")
2. while
循环
python
# 计算1-10的和
sum = 0
i = 1
while i <= 10:
sum += i
i += 1
print(f"和为: {sum}")
实际应用:API请求重试机制
python
max_retries = 3
retries = 0
while retries < max_retries:
response = make_api_request()
if response.success:
break
retries += 1
else:
print("请求失败,已达最大重试次数")
3. 循环控制语句
break
:立即退出循环。continue
:跳过当前迭代,进入下一次循环。
python
# 查找第一个能被7整除的数
numbers = [12, 15, 18, 21, 24]
for num in numbers:
if num % 7 == 0:
print(f"找到: {num}")
break
# 输出1-10中的奇数
for i in range(1, 11):
if i % 2 == 0:
continue
print(i)
五、异常处理(try-except
)
python
try:
# 可能出错的代码
except ExceptionType:
# 处理异常
finally:
# 无论是否异常都会执行
实际应用:安全除法计算
python
def safe_divide(a, b):
try:
result = a / b
except ZeroDivisionError:
print("错误:除数不能为零")
return None
except TypeError:
print("错误:输入必须为数字")
return None
else:
print(f"结果为:{result}")
return result
finally:
print("计算完成")
safe_divide(10, 2) # 正常输出
safe_divide(5, 0) # 触发ZeroDivisionError
六、综合应用示例
场景1:
简易购物车系统
python
cart = []
prices = {"apple": 5.0, "banana": 3.5, "milk": 8.0}
while True:
print("\n1. 添加商品 2. 查看购物车 3. 结账 4. 退出")
choice = input("请选择操作:")
if choice == "1":
item = input("输入商品名称:").lower()
if item in prices:
cart.append(item)
print(f"{item} 已加入购物车")
else:
print("商品不存在!")
elif choice == "2":
print("购物车内容:")
for item in set(cart):
print(f"{item}: {cart.count(item)}件")
elif choice == "3":
total = sum(prices[item] for item in cart)
print(f"总金额:{total:.2f}元")
break
elif choice == "4":
print("感谢使用!")
break
else:
print("无效的输入,请重试")
场景2:
猜数字游戏
python
import random
secret_number = random.randint(1, 100)
attempts = 0
max_attempts = 5
print("欢迎来到猜数字游戏!数字在1-100之间。")
while attempts < max_attempts:
guess = int(input("请输入你的猜测: "))
attempts += 1
if guess < secret_number:
print("太小了!")
elif guess > secret_number:
print("太大了!")
else:
print(f"恭喜你!用了{attempts}次猜中了数字{secret_number}。")
break
else:
print(f"很遗憾,机会用完了。正确答案是{secret_number}。")