欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 培训 > Python控制结构详解

Python控制结构详解

2025/4/4 1:59:46 来源:https://blog.csdn.net/weixin_42771366/article/details/146715035  浏览:    关键词:Python控制结构详解

前言

一、控制结构概述

二、顺序结构

三、选择结构(分支结构)

1. 单分支 if

2. 双分支 if-else

3. 多分支 if-elif-else

4.实际应用:

四、循环结构

1. for循环

2. while循环

3. 循环控制语句

五、异常处理(try-except)

六、综合应用示例

场景1:

场景2:

前言

这部分内容之前写过,但感觉不是特别好,不方便以后翻阅,所以重新整理。有问题欢迎随时指正。

一、控制结构概述

Python的控制结构分为三种基本类型:顺序结构选择结构(分支结构) 和 循环结构。它们决定了代码的执行流程和逻辑。

二、顺序结构

定义:代码按书写顺序从上到下逐行执行,无分支或循环。
示例

# 变量赋值与打印输出
name = "Alice"
age = 25
print(f"Name: {name}, Age: {age}")

三、选择结构(分支结构)

根据条件判断结果,选择不同代码块执行。

1. 单分支 if

# 判断数字正负
num = -5
if num > 0:print("正数")

2. 双分支 if-else

# 根据成绩输出等级
score = 85
if score >= 90:print("优秀")
else:print("需努力")

3. 多分支 if-elif-else

# 判断数字能否被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.实际应用:

用户权限验证

user_role = "admin"
if user_role == "admin":print("显示所有管理功能")
elif user_role == "editor":print("显示编辑面板")
else:print("仅限浏览模式")

四、循环结构

重复执行某段代码,分为for循环和while循环。

1. for循环

# 遍历列表
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-4print(i)

实际应用:批量文件重命名

files = ["report.txt", "image.jpg", "data.csv"]
for filename in files:if filename.endswith(".txt"):print(f"处理文本文件: {filename}")

2. while循环

# 计算1-10的和
sum = 0
i = 1
while i <= 10:sum += ii += 1
print(f"和为: {sum}")

实际应用:API请求重试机制

max_retries = 3
retries = 0
while retries < max_retries:response = make_api_request()if response.success:breakretries += 1
else:print("请求失败,已达最大重试次数")

3. 循环控制语句

  • break:立即退出循环。
  • continue:跳过当前迭代,进入下一次循环。
# 查找第一个能被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:continueprint(i)

五、异常处理(try-except

try:# 可能出错的代码
except ExceptionType:# 处理异常
finally:# 无论是否异常都会执行

实际应用:安全除法计算

def safe_divide(a, b):try:result = a / bexcept ZeroDivisionError:print("错误:除数不能为零")return Noneexcept TypeError:print("错误:输入必须为数字")return Noneelse:print(f"结果为:{result}")return resultfinally:print("计算完成")safe_divide(10, 2)   # 正常输出
safe_divide(5, 0)    # 触发ZeroDivisionError

六、综合应用示例

场景1

简易购物车系统

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}元")breakelif choice == "4":print("感谢使用!")breakelse:print("无效的输入,请重试")

场景2:

猜数字游戏

import randomsecret_number = random.randint(1, 100)
attempts = 0
max_attempts = 5print("欢迎来到猜数字游戏!数字在1-100之间。")while attempts < max_attempts:guess = int(input("请输入你的猜测: "))attempts += 1if guess < secret_number:print("太小了!")elif guess > secret_number:print("太大了!")else:print(f"恭喜你!用了{attempts}次猜中了数字{secret_number}。")break
else:print(f"很遗憾,机会用完了。正确答案是{secret_number}。")

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词