一、程序的分支结构
1.单分支结构
根据判断条件结果而选择不同向前路径的运动方式
if <条件>:
<语句块>
示例:
guess = eval(input()) if guess == 99: print("猜对了")
2.二分支结构
2.1常规形式
根据判断条件结果而选择不同向前路径的运动方式
if <条件>:
<语句块1>
else:
<语句块2>
示例:
guess = eval(input()) if guess == 99: print("猜对了") else: print("猜错了")
2.2紧凑形式
适用于简单表达式的二分支结构
<表达式1> if <条件> else<表达式2>
示例:
guess = eval(input("请输入:")) print("猜{}了".format("对" if guess == 99 else "错"))
3.多分支结构
if <条件> :
<语句块1>
elif:
<语句块2>
......
else:
<语句块3>
示例:
#对不同分数分级的问题 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))
-注意多条件之间的包含关系
-注意变量取值范围的覆盖
-分支结构是程序的 重要框架,读程序先看分支
4.条件判断及组合
4.1操作符
操作符 | 数学符号 | 描述 |
< | < | 小于 |
<= | ≤ |
小于等于 |
> | ≥ |
大于等于 |
== | = | 等于 |
!= | ≠ | 不等于 |
4.2用于条件组合的三个保留字
操作符及使用 | 描述 |
x and y | 两个条件x和y的逻辑与 |
x or y | 两个条件x和y的逻辑或 |
not x | 条件X的逻辑非 |
示例:
guess = eval(input("请输入数字:")) if guess == 99 or guess < 99: print("猜对了") else: print("猜错了")
5.程序的异常处理
5.1异常处理的基本使用
try: try:
<语句块1> <语句块1>
except: except <异常类型>:
<语句块2> <语句块2>
示例1:
try: num = eval(input("请输入一个整数:")) print(num**2) except: print("输入不是整数")
示例2:
try: num = eval(input("请输入一个整数:")) print(num**2) except NameError: #标注异常类型后,仅响应该异常;异常类型名字等同于变量。 print("输入不是整数")
5.2异常处理的高级使用
try:
<语句块1>
except:
<语句块2>
else:
<语句块3>
finally:
<语句块4>
-finally对应语句块4一定执行
-else对应语句块3在不发生异常时执行
6.小结
-单分支if 二分支if-else及紧凑形式
-多分支 if-elif-else及条件之间的关系
-not and or > >= == <= < !=
-异常处理 try-except-else-finally
二、程序的循环结构
1.遍历循环
遍历某个结构形成的循环运行方式
for <循环变量> in <遍历结构>:
<语句块>
-由保留字for和in组成,完整遍历所有元素后结束
-每次循环,所获得元素放入循环变量,并且、执行一次语句块
1.1 遍历循环的应用
1.1.1计数循环(N次)
for i in range(N):
<语句块>
-遍历由range()函数产生的数字序列,产生循环
示例:
for i in range(5):
print(i,end=" ") >>>1 2 3 4 5
1.1.2字符串遍历循环
for c in S:
<语句块>
-S是字符串,遍历字符串每个字符,产生循环
示例:
for c in "python123":
print(c,end=",") >>>p,y,t,h,o,n,1,2,3,
1.1.3列表遍历循环
for item in ls :
<语句块>
-ls是一个列表,遍历其每个元素,产生循环
示例:
for item in [123,"py",456] :
print(item,end=",") >>>123,py,456,
1.1.4文件遍历循环
for line in fi :
<语句块>
-fi是一个文件标识符,遍历其每行,产生循环
示例:略
2.无限循环
由条件控制的循环运行方式
while <条件>:
<语句块>
-反复执行语句块,直到条件不满足时结束
示例:
a=3
while a > 0:
a = a-1
print(a,end=",") >>>2,1,0
3.循环控制保留字
break 和 continue
-break跳出并结束当前整个循环,执行循环后的语句
-continue结束当次循环,继续执行后续次数循环
-break和continue可以与for和while循环搭配使用
示例:
continue的使用:
#continue的使用
for c in "python":
if c == "t": continue print(c,end="") >>>pyhon,
break的使用:
#break的使用
for c in "python":
if c == "t": break print(c,end="") >>>py
循环嵌套:
s = "python"
while s != "":
for c in s : print(c,end="") s = s[:-1] >>>pythonpythopythpytpyp
s = "python"
while s != "":
for c in s : if c == "t": break #break仅跳出当前最内层循环 print(c,end="") s = s[:-1] >>>pypypypypyp
4.循环的高级用法
循环与else
for与else搭配 |
while与else搭配 |
for <循环变量> in <遍历结构>: |
while <条件>: |
-当循环没有被break语句退出时,执行else语句块
-else语句块作为"正常"完成循环的奖励
-这里else的用法与异常处理中else的用法相似
示例:
continue结束当次循环
#continue结束当次循环
for c in "python":
if c == "t": continue print(c,end="") else: print("正常退出") >>>pyhon正常退出
break结束当前整个循环
#break结束当前整个循环
for c in "python":
if c == "t": break print(c,end="") else: print("正常退出") >>>py
5.小结
-for...in 遍历循环:计数、字符串、列表、文件...
-while无限循环
-continue和break保留字:退出当前循环层次
-循环else的高级用法:与break有关