程序流程图
程序流程图是一种表达程序控制结构的方式,只要是程序分解和过程描述,由图形,流程线和文字说明组成。
程序由3种基本结构组成:顺序、分支和循环结构,任何程序都由这3种基本结构组成
一.顺序结构
就是从上到下依次执行
二.程序的分支控制结构
分支结构是程序根据条件判断结果而选择不同向前执行路径的一种运行方式。
单分支结构
if <条件>:
<代码块>
【示例】
n = eval(input("请输入一个整数: "))
s = 0 #s是死的 因为已经被定义了 只需要看n
if n>=5:
n -= 1 #-=就是c=c-1
s = 4
if n<5:
n -= 1
s = 3
print(s)
print(n) #数字符合那个条件就执行那个语句
二分支结构
语句 1 是在条件为真时执行,语句 2 是在条件为假时执行
if <条件>:
<代码块 1>
else:
<代码块 2>
二.循环控制语句
continue 语句
用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环
for i in 'testatest':
if i == 't'or i == 'e': # 当自符串中有t和e时,结束当先当次循环,不会跳出循环
continue
print(i,end='')
# 输出结果 sas
break 语句
跳出最内层循环,终止该循环后,从循环后的代码继续执行
for i in 'testatest':
if i == 'a'or i == 'e':
break
print(i,end='')
# 结果 t
三、程序的异常处理
Python 提供了不同形式的异常处理结构,基本思路一致:运行代码,如果没有问题就正常执行,如果发生错误就尝试捕获和处理,最后解决不了程序崩溃
try…except…
Python 处理异常程序最简单的形式就是 try…except…,类似于单分支选择结构。使用语法为:
try:
可能会发生异常的代码,先执行以下试试看
except <异常类型>:
如果 try 中代码抛出异常并被 except 捕获,执行此处代码
实例
s = input("Please input number:")
while True:
try:
s = int(s)
print(s)
break
except ValueError:
print("Please input a number!")
s = input("Please input number:")
try…except…else…
该结构可以看为双分支结构,else 中的代码只有在 try 中代码没有引发异常的情况下执行。使用语法为:
try:
可能会发生异常的代码
except <异常类型>:
如果 try 中代码抛出异常并被 except 捕获,执行此处代码
else:
try 代码正常执行,则执行此处代码
实例
s = input("Please input number:")
while True:
try:
s = int(s)
except ValueError:
print("Error!!!")
s = input("Please input number:")
else:
print(s)
break
try…except…finally…
该结构中,无论 try 代码中是否发生异常,finally 语句块中的代码总会执行。
使用语法为:
try:
可能会发生异常的代码
except <异常类型>:
处理异常代码
finally:
总是执行
实例
def calc(a,b): # 自定义函数
try:
print(a/b)
except ZeroDivisionError:
print("第二个参数不能为 0!")
finally:
print("函数执行完成")
z=eval(input("请输入一个数"))
calc(5,z)
捕捉多种异常的异常处理结构
实际开发中,同一段代码可能会抛出多种异常,并且针对不同异常进行相应的处理。使用语法为:
try:
可能会发生异常的代码
except <异常类型 1>:
处理异常类型 1 的代码
except <异常类型 2>:
处理异常类型 2 的代码
def calc(a,b):
try:
print(a/b)
except ZeroDivisionError: print("ZeroDivisionError!,第二个数不能为 0")
except TypeError:
print("TypeError!,请输入数字!")
else:
print("未出现异常!")
finally:
print("函数执行完成")
calc(5,2)
calc('c',2)
calc(5,0)