Python学习之程序的控制结构
程序的分支结构
单分支结构
根据判断条件结果而选择不同向前路径的运行方式
if <条件> :
<语句块>
示例
guess = eval(input())
if guess== 99:
print("猜对了")
二分支结构
根据判断条件结果而选择不同向前路径的运行方式
一般形式
if <条件>:
<语句块1>
else :
<语句块2>
示例
guess = eval(input())
if guess == 99:
print("猜对了")
else :
print("猜错了")
紧凑形式
适用于简单表达式的二分支结构
<表达式1>if<条件> else<表达式2>
示例
guess = eval(input())
print("猜{}了".format("对" if guess==99 else "错"))
注意事项:在二分支紧凑形式中,要注意表达式的使用,而不是语句的使用,及不能出现“=”
多分支结构
if <条件>:
<语句块1>
elif:
<语句块2>
.......
else:
<语句块n>
示例
# 对不同分数分级的问题
score = eval(input())
if score >= 60:
grade ="D"
elif score >= 70:
grade ="C"
elif score >= 89:
grade ="B"
elif score >= 90:
grade ="A"
print("输入成绩属于级别()".format(grade))
条件判断及组合
条件判断
操作符
用于条件组合的三个保留字
示例
guess = eval(input())
if guess > 99 or guess < 99:
print("猜错了")
else :
print("猜对了")
程序的异常处理
当用户没有输入整数时,会产生异常,怎么处理 ?
# 输入abc
num = eval(input("请输入一个整数:"))
print(num**2)
异常处理的基本使用
# 方式一
try :
<语句块1>
except :
<语句块2>
# 方式二(标注异常类型后,仅响应该异常,异常类型名字等同于变量)
try :
<语句块1>
except<异常类型>:
<语句块2>
示例
# 方式一
try:
num = eval(input("请输入一个整数:"))
print(num**2)
except :
print("输入不是整数")
# 方式二
try:
num = eval(input("请输入一个整数:"))
print(num**2)
except NameError:
print("输入不是整数")
异常处理的高级使用
# else对应语句块3在不发生异常时执行
# finally对应语句块4一定执行
try:
<语句块1>
except:
<语句块2>
else :
<语句块3>
finally :
<语句块4>
程序的循环结构
遍历循环
遍历某个结构形成的循环运行方式
遍历循环的介绍
由保留字for和in组成,完整遍历所有元素后结束
每次循环,所获得元素放入循环变量,并执行一次语句块
for<循环变量>in <遍历结构>
<语句块>
注意事项
所有for in这样可遍历的结构,只要后边的变量或者这个数据类型,它是一个由多个元素构成的数据类型,我们都可以使用for in的方式,遍历它其中的每一个元素,并且根据元素的个数形成相应的循环,这就是遍历循环
遍历循环的应用
计数循环
遍历由range()函数产生的数字序列,产生循环
for i in range(M, N, K)
<语句块>
示例1
示例2
字符串遍历循环
s是字符串,遍历字符串每个字符,产生循环
for c in s
<语句块>
示例
列表遍历循环
ls是一个列表,遍历其每个元素,产生循环
for item in ls
<语句块>
示例
文件遍历循环
fi是一个文件标识符,遍历其每行,产生循环
for line in fi
<语句块>
示例
无限循环
由条件控制的循环运行方式
反复执行语句块,直到条件不满足时结束
while <条件>:
<语句块>
示例
循环控制保留字
break 和 continue
break跳出并结束当前整个循环,执行循环后的语句
continue结束当次循环,继续执行后续次数循环
break和continue可以与for和while循环搭配使用
示例1
示例2
break仅跳出当前最内层循环及跳出for循环
循环的高级用法
循环与else
当循环没有被break语句退出时,执行else语句块
else语句块作为"正常"完成循环的奖励
这里else的用法与异常处理中else用法相似
for <条件><循环变量>in<遍历结构>:
<语句块1>
else :
<语句块2>
while <条件>:
<语句块1>
else:
<语句块2>
示例