likes
comments
collection
share

python分支结构

作者站长头像
站长
· 阅读数 59

分支结构

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

单分支结构

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
评论
请登录