第一节 程序的三种控制结构
1.顺序结构
2.分支结构
3.循环结构
第二节 分支结构
一、单分析结构
语法:
if 条件:
语句块
二、双分支结构
if 条件:
语句块1
else:
语句块2
三、多分支结构
语法:
if 条件1 :
语句块1
elif 条件2:
语句块2
else:
语句块N
四、if的嵌套和语法
语法:
if条件1∶
条件1成立执行的代码
if 条件2:
条件2成立执行的代码
说明:条件2的if也是出于条件1的缩进关系内部。
第三节 循环结构
Python语言的循环结构包括两种:无限循环和遍历循环。无限循环使用保留字while根据判断条件执行程序。遍历循环使用保留字for依次提取遍历结构中各元素进行处理。
一、无限循环
1.while
语法:
while 条件:
循环体
示例:
i=0
while i <=6:
print(f"第{i}次运行")
i+=2
说明:
(1)循环体中的语句可以有一行,也可以有多行。
(2)使用条件i<=某个数字的时候,循环体中必须有计算器,比如示例中的i+=2就是一个计数器,使用计算器的作用:满足条件时退出循环,如果没有计数器会陷入死循环。
(3)并不是所有的while循环当要有计数器,但是这样的while循环有肯定会有一个退出循环的机制。比如下面的while循环。
print('程序应用提示:录入姓名信息,退出程序请录入“关闭”两字')
while True:
a=input("请输入信息:")
if a=="关闭":
break
else:
print("学生姓名:{}".format(a))
2.while…else
语法:
while条件:
条件成立重复执行的代码
else:
循环正常结束之后要执行的代码
说明:
在这种扩展模式中,当while循环正常执行之后,程序会继续执行else语句中内容。else语句只在循环正常执行后才执行,因此,可以在“循环正常结束之后要执行的代码”中放置判断循环执行情况的语句。while循环的else语句与for循环的else语句一样,都是循环正常执行结束的“奖励”部分。
3.while循环之break
(1)break 用来退出while循环。
(2)break写在if语句中
(3)满足break条件时,循环体中break之前的代码会被执行,之后的代码不会被执行。示例:
i=0
while i <6:
print('-'*5+"运行提示"+'-'*5)
if i==3:
print("故障")
break
print(f"第{i}次运行")
i+=1
(4)带有break的while…else循环,当执行break时,循环就属于非正常结束,不会再执行else里的语句。
4.while循环之continue
(1)continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。
(2)continue应写在if语句中
(3)满足continue条件时,循环体中continue之前的代码会被执行,之后的代码不会被执行,这一点儿道理同break。
(4)如果计数器写在continue计数器后面,使用continue时,应在if语句中的continue关键字前(这个计数器可以加在if语句中,也可以加在if语句前),再加一次循计数器,否则程序一直循环运行,陷入死循环。原因在执行continue的if条件时,continue后面的计数器不会被执行,已经失效,计数器的值i一直不变,因此是一个死循环。示例如下:
i=0
while i <6:
print('-'*5+"运行提示"+'-'*5)
if i==3:
print("故障")
i+=1
continue
print(f"第{i}次运行")
i+=1
二、遍历循环
遍历循环可以理解为从遍历结构中逐一提取元素,放在循环变量中,对于每个所提取的元素执行一次语句块。for语句的循环执行次数是根据遍历结构中元素个数确定的。
遍历结构可以是字符串、文件、range()函数或组合数据类型等。
1.for
语法:
for 临时变量 in 遍历结构:
语句块
2.for…else
语法:
for 临时变量 in 遍历结构:
语句块
else:
循环正常结束执行的语句
说明:关于else的解释同while…else
3.for循环之break
同while循环之break
4.for循环之continue
同while循环之continue,只不过for循环之continue中不用再二次添加计数器。
三、循环嵌套
即在循环中再嵌套一次循环。道理同if嵌套。
第四节 程序的异常处理
一、语法
try:
可能发生错误的代码
except:
如果出现异常执行的代码
else:
如果没有异常要执行的代码
finally:
无论是否异常都要执行的代码,例如关闭文件。
二、捕获指定异常类型
1.当捕获单个异常时,可以把要捕获的异常类型的名字放到except后面。
try:
print(num)
except NameError:
print('有错误')
2.当捕获多个异常时,可以把要捕获的异常类型的名字,放到except后面,并使用元组的方式进行书写。
try:
print(1/0)
except (NameError, ZeroDivisionError):
print('有错误')
3. 当捕获所有异常时,可以把Exception放到except后面,这里的Exception表示所有异常名称的父类。
try:
print(1/0)
except Exception:
print('有错误')
三、捕获异常描述信息
语法:
except 异常名称 as 临时变量名称:
说明:as后面的变量也应该是临时变量或者称为局部变量,因为这个变量放在try语句后面就会失效报错。
示例:
try:
print(num)
except (NameError, ZeroDivisionError) as result:
print(result)
四、自定义异常
待复习完类与对象后,再整理。