第八章 程序的分支结构
单分支结构:根据判断条件结果而选择不同向前路径的运行方式
if <条件>: <语句块>
其原理效果如下图所示:
如果条件正确则执行语句块,否则不执行。
单分支结构示例:
1 guess=eval(input()) 2 if guess==99: 3 print("猜对了")
1 if True: 2 print("条件正确")
二分支结构:根据判断条件结果而选择不同向前路径的运行方式
1 if <条件>: 2 3 <语句块1> 4 5 else: 6 7 <语句块2>
二分支结构的原理图如下:
如果条件正确则执行语句块1,否则执行语句块2。
二分支结构示例:
1 guess=eval(input()) 2 if guess==99: 3 print("猜对了") 4 else: 5 print("猜错了")
1 if True: 2 print("语句块1") 3 else: 4 print("语句块2")
注意一点:
python中二分支结构还有一个紧凑形式
紧凑形式适用于简单表达式的二分支结构
<表达式1>if<条件>else<表达式2>
二分支结构的紧凑形式示例如下:
1 guess=eval(input()) 2 print("猜{}了".format("对" if guess==99 else "错"))
多分支结构:
1 if <条件1>: 2 <语句块1> 3 elif <条件2>: 4 <语句块2> 5 ........ 6 else: 7 <语句块N>
多分支结构的效果图如下图所示:
我们来写一个对不同分数分级的程序
1 score=eval(input()) 2 if score >=60: 3 grade="D" 4 elif score>=70: 5 grade="C" 6 elif score>=80: 7 grade="B" 8 elif score>=90: 9 grade="A" 10 print("输入成绩属于级别{}".format(grade)) 11 ##注意多条件之间的包含关系 12 ##注意变量取值范围的覆盖
程序控制结构:
1、顺序结构
2、分支结构
3、循环结构
条件判断及其组合
操作符 | 数学符号 | 描述 |
< | < | 小于 |
<= | ≤ | 小于等于 |
>= | ≥ | 大于等于 |
> | > | 大于 |
== | = | 等于 |
!= | ≠ | 不等于 |
用于条件组合的三个保留字:
操作符及使用 | 描述 |
x and y | 两个条件x和y的逻辑与 |
x or y | 两个条件x和y的逻辑或 |
not x | 条件x的逻辑非 |
条件判断及组合示例
1 guess= eval(input()) 2 if guess > 99 or guess <99: 3 print("猜错了") 4 else: 5 print("猜对了")
下面我们来聊聊异常处理的问题
如:下面这段代码,当用户没有输入整数的时候,会产生异常,怎么处理这个异常?
num =eval(input("请输入一个整数:")) print(num**2)
异常处理的基本使用:
1 try: 2 <语句块1> 3 except: 4 <语句块2>
try: <语句块1> except <异常类型>: <语句块2>
异常处理:
示例1
1 try: 2 num=eval(input("请输入一个整数")) 3 print(num**2) 4 except: 5 print("输入不是整数")
示例2
1 try: 2 num=eval(input("请输入一个整数")) 3 print(num**2) 4 except NameError: #标注异常类型后,仅响应 该异常 5 print("输入不是整数")
最后来看看异常处理的高级使用方法:
1 try: 2 <语句块1> 3 except: 4 <语句块2> 5 else: 6 <语句块3> #不发生异常时执行 7 finally: 8 <语句块4> #一定执行