第八章 程序的分支结构

时间:2022-11-22 00:26:58

单分支结构:根据判断条件结果而选择不同向前路径的运行方式

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>    #一定执行