第十九节课: python第四周课程:程序分支结构详解

发布于:2025-04-05 ⋅ 阅读:(16) ⋅ 点赞:(0)

程序分支结构

1. 单分支结构

语法结构

if <条件>:
    <代码块>

执行逻辑

  • 条件为真时执行代码块
  • 类似自然语言中的"如果…则…"

应用案例

# 猜数字示例
guess = eval(input("请输入数字:"))
if guess == 99:
    print("猜对了!")

# 条件直接使用布尔值
if True:
    print("条件永远成立,必定执行")

2. 二分支结构

语法结构

if <条件>:
    <代码块1>
else:
    <代码块2>

紧凑形式

<表达式1> if <条件> else <表达式2>

应用案例

# 基础形式
guess = eval(input("请输入数字:"))
if guess == 99:
    print("猜对了")
else:
    print("猜错了")

# 紧凑形式
result = "对" if guess == 99 else "错"
print("猜{}".format(result))

3. 多分支结构

语法结构

if <条件1>:
    <代码块1>
elif <条件2>:
    <代码块2>
...
else:
    <默认代码块>

易错点分析

# 错误的多分支示例(成绩分级逻辑错误)
score = int(input("请输入成绩:"))
if score >= 60:
    print("D")
elif score >= 70:  # 永远不会被执行
    print("C")
elif score >= 80:
    print("B")
elif score >= 90:
    print("A")

# 正确写法应倒序判断
if score >= 90:
    print("A")
elif score >= 80:
    print("B")
elif score >= 70:
    print("C")
elif score >= 60:
    print("D")
else:
    print("不及格")

4. 条件判断与组合

比较运算符

  • < 小于
  • <= 小于等于
  • > 大于
  • >= 大于等于
  • == 等于
  • != 不等于

逻辑运算符

# 与运算
if x > 0 and x < 100:
    print("x在0-100之间")

# 或运算
if guess < 0 or guess > 100:
    print("数值越界")

# 非运算
if not (x > y):
    print("x不大于y")

5. 异常处理

基本结构

try:
    <可能异常的代码块>
except [异常类型]:
    <异常处理代码块>

完整结构

try:
    <代码块1>
except <异常类型1>:
    <代码块2>
except <异常类型2>:
    <代码块3>
else:
    <无异常时执行>
finally:
    <始终执行>

应用案例

# 基础异常处理
try:
    num = eval(input("请输入整数:"))
    print(num**2)
except:
    print("输入的不是整数!")

# 指定异常类型
try:
    num = eval(input("请输入数字:"))
except NameError:  # 处理变量未定义错误
    print("请输入阿拉伯数字!")
except SyntaxError: # 处理语法错误
    print("输入格式错误!")
else:
    print("平方值为:", num**2)
finally:
    print("----程序执行结束----")

关键要点总结

  1. 分支结构类型

    • 单分支:简单条件判断
    • 二分支:条件+备选方案
    • 多分支:多条件阶梯判断
  2. 条件组合技巧

    • 使用and组合多个必须满足的条件
    • 使用or组合多个可选条件
    • 使用not进行逻辑取反
  3. 异常处理最佳实践

    • 优先捕获具体异常类型
    • 使用else处理正常流程
    • finally保证资源释放
    • 避免空except(会捕获所有异常)
  4. 常见错误防范

    • 多分支条件的顺序错误
    • 比较运算符的方向错误
    • 未处理可能的异常情况
    • 误用赋值运算符=代替比较运算符==

网站公告

今日签到

点亮在社区的每一天
去签到