单分支结构:根据判断条件结果而选择不同向前路径的运行方式
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>语句块2> 语句块1> 条件>
二分支结构的原理图如下:
如果条件正确则执行语句块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>表达式2> 条件> 表达式1>
二分支结构的紧凑形式示例如下:
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>语句块n> 语句块2> 条件2> 语句块1> 条件1>
多分支结构的效果图如下图所示:
我们来写一个对不同分数分级的程序
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>语句块2> 语句块1>
try: <语句块1> except <异常类型> : <语句块2>语句块2> 异常类型> 语句块1>
异常处理:
示例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> #一定执行 语句块4> 语句块3> 语句块2> 语句块1>