Python---python程序的控制结构

程序流程图

程序流程图是一种表达程序控制结构的方式,只要是程序分解和过程描述,由图形,流程线和文字说明组成。
在这里插入图片描述
程序由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)
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值