程序的控制结构

程序的控制结构

单分支结构

分支结构是根据判断条件结果而选择的不同向前路径的运行方式,单分支是最简单的方式
在这里插入图片描述
如果……则……
猜数 据

guess = eval(input())
if guess ==99:
print("猜对了")

二分支结构

根据条件判断的不同,而选择不同向前路径的一种结构
在这里插入图片描述
猜数字的例子

guess = eval(input())
if guess==99:
print("猜对了")
else:
print("猜错了")

二分支结构除了if else结构之外,还有紧凑的结构,他是仅仅适用于表达简单的逻辑的
在这里插入图片描述
表达式1是指,如果条件成立了我们返回表达式1的信息,要是条件不成立,就是执行条件2 的
改变为紧凑形式

guess=eval(input())
print("猜{}了".format("对"if guess==99 else"错")) 

注意在紧凑形式中,if else所对应的输出不是语句,而是表达式,但是表达式是语句的一部分
语句是带赋值形式的,
有等号构成的语句,但是if else是不支持带赋值符号的语句,只支持表达式的形式,也就是语句的一部分,所以在其中要
注意表达式的使用,而不是语句的使用

多分支结构

多分支是根据多个条件,而选择不同语句块运行的一种分支结构
典型方式是保留字if elif 和else
在这里插入图片描述
实例:对不同分数分级的问题

score=eval(input())
if score>=60:
grade="D"
elif score>=70:
grade="C"
elif score>=80:
grade="B"
elif score>=90:
grade="A"
print ("输入成绩属于级别{}".format(grade))

注意多条件之间的包含关系
注意变量取值范围的覆盖关系
这段代码的运行是正确的,但是关系是错误的
他的先后关系以及包含关系出现了错误,所以要进行修改

条件判断及组合

操作符对条件进判断,并且产生真或假的结果

操作符

在这里插入图片描述
在这里插入图片描述
实例:

guess = eval(input())
if guess>99 orguess<99:
print("猜错了")
else:
print("猜对了")

解读:当用户输入的数字我么可以利用条件guess>99 or guess<99 来决定返回用户对和错的结果,在这行条件判断中, 既使用了条件操作符也使用了保留字,只要用户输入的条件中数字是>99或者<99就是错误的,否则就是对的

程序的异常处理(分支结构的一种)

num =eval(input("请输入一个整数"))
print(num**2)

首先我们获得用户的一个输入,然后对输入的整数进行平方操作

就操作来说是没有问题的,但是用户未必会按照提示输入整数,,当用户没有输入整数时,会产生异常,怎么处理呢??

要是产生异常,就会产生异常信息,那么出现的异常信息有是
在这里插入图片描述
在第二行中有个地方已经表明了异常发生的代码行数
是因为在input函数中输入了非整数的信息,在eval去掉引号后发生了错误
他发生在代码的第一行,整个信息的最后表明了异常内容和异常内容提示
一场内容是NameError 是命名出现了错误,再看提示:abc是没有被定义的,因为开始的时候是没有定义abc但是却输入了abc

用try 和except解决出现的异常,要是不出现异常,就执行语块1要是出现异常,就执行语块2

try:
<语块一>
except<异常类型>:
<语块二>

实例:

try:
num=eval(input("请输入一个整数"))
print(num**2)
except:
print(""输入不是整数)

可以直接在except后面增加异常的类型,例如刚刚是NameError

标注异常类型后,仅响应该异常,异常类型名字等同于变量,是自己定义的

异常处理类型的高级方法

try:
<语块一>
except:
<语块二>
else:
<语块三>
finally:
<语块四>

要是不出现异常就执行语句块1,出现异常就执行语句块2

finally 对应的语句块4一定执行
else对应的语句块3在不发生异常时执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值