python分支结构
分支结构
根据判断条件结果而选择不同向前路径的运行方式
单分支结构
if<条件>: ture
<语句块> ——><条件>——>[语句块]——>
false| ^
|_____________|
#单分支结构示例
guess = eval(input())
if guess == 99:
print("猜对了")
if Ture
print("条件正确")
二分支结构
if <条件>: |——————————>[语句块2]——|
<语句块1> false| |
else : ——><条件> |——>
<语句块2> ture| |
|——————————>[语句块1]——|
#二分支结构示例
guess = eval(input())
if guess == 99:
print("猜对了")
else:
print("猜错了")
if Ture:
print ("语句块1")
else:
print("语句块2")
紧凑形式
适用于简单表达的二分支结构
<表达式1> if <条件> else <表达式2>
guess = eval(input())
print("猜{}了".format("对" if guess==99 else "错"))
注意:对于紧凑形式中if else所对应的输出不是语句,而是表达式,所谓的表达式时语句的一部分(简单理解:语句可以理解为带赋值形式的,有等号构成的语句,但if else不支持这种带等号形式的赋值语句)
多分支结构
根据条件来选择多种语句块运行的一种分支结构
if<条件>: |———————————————————|————————————————|
<语句块1> [语句块1] [语句块n-1] |
elif: | false | |
<语句块2> ————><条件1>——>.....——><条件n-1>———>[语句块n]——>
........ ture
else:
<语句块2>
#对不同分数分级问题
score = eval(input())
if score>=85:
print("A")
elif score>=70:
print("B")
elif score>=60:
print("C")
else:
print("D")
#另一种写法(foemat)
score = eval(input())
if score>=90:
grade="A"
elif score>=80:
grade="B"
elif score>=70:
grade="C"
elif score>=60:
grade="D"
print("输入成绩属于级别()".format())
- 注意多条件之间的包含关系
- 注意变量取值范围的覆盖
条件判断及组合
操作符
操作符 | 数学符号 | 描述 |
---|---|---|
< | < | 小于 |
<= | ≤ | 小于或等于 |
>= | ≥ | 大于或等于 |
大于 | ||
== | = | 等于 |
!= | ≠ | 不等于 |
三个保留字
用于条件组合的三个保留字
操作符及使用 | 描述 |
---|---|
x and y | 两个条件x和y的逻辑 与 |
x or y | 两个条件x与y的逻辑 或 |
not x | 条件x的逻辑 非 |
#示例
guess = eval(input())
if guess > 99 or guess < 99:
print("猜错了")
else :
print("猜对了")
#示例
if not Ture:
print("语句块2")
else:
print("语句块1")
程序的异常处理
#示例
num = eval(input("请输入一个整数:"))
print(num**2)
#异常处理
Tracebak (most recent call last):
File "t.py",line 1, in <module> #line 1表明了异常代码发生的行数
num = eval(input("请输入一个整数:"))
File "<string>", line 1, in <module>
NameError: name 'abc' is not defined #异常类型和异常内容提示
python异常处理的两种机制
- 使用保留字try
- 使用保留字except
异常处理的基本使用
try :
<语句块1>
except :
<语句块2>
进一步区分异常类型
try :
<语句块1>
except <异常类型>:
<语句块2>
示例一
try :
num = eval(input("请输入一个整数:"))
print(num**2)
expect :
print("输入不是整数")
示例二
try :
num = eval(input("请输入一个整数:"))
print(num**2)
expect NameError:
print("输入不是整数")
- 标注异常类型后,仅响应该异常
- 异常类型名字等同于变量
异常处理的高级使用方法
在try except之后可以用else和finally去引导语句块3和语句块4
try :
<语句块1>
except :
<语句块2>
else :
<语句块3>
finally :
<语句块4>
- finally对应的语句块4一定执行
- else对应的语句块3在不发生异常时执行
转载自:https://juejin.cn/post/7060765398672605215