一、程序的分支结构
1.1 单分支结构
根据判断条件结果而选择不同向前路径的运行方式
guess = eval(input())
if guess == 99:
print("猜对了")
if True:
print("条件正确")
1.2 二分支结构
根据判断条件结果而选择不同向前路径的运行方式
guess = eval(input())
if guess == 99:
print("猜对了")
else :
print("猜错了")
if True:
print("语句块1")
else :
print("语句块2")
- 紧凑形式:适用于简单表达式的二分支结构
<表达式1> if <条件> else <表达式2>
guess = eval(input())
print("猜{}了".format("对" if guess==99 else "错"))
1.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))
1.4 条件判断及组合
- 条件判断
操作符 | 数学符号 | 描述 |
---|---|---|
< | < | 小于 |
<= | ≤ | 小于等于 |
>= | ≥ | 大于等于 |
> | > | 大于 |
== | = | 等于 |
!= | ≠ | 不等于 |
- 条件组合
用于条件组合的三个保留字
操作符及使用 | 描述 |
---|---|
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("猜对了")
if not True:
print("语句块2")
else :
print("语句块1")
1.5 程序的异常处理
num = eval(input("请输入一个整数: "))
print(num**2)
当用户没有输入整数时,会产生异常,怎么处理?
异常处理的基本使用
try :
<语句块1>
except :
<语句块2>
例:
try :
num = eval(input("请输入一个整数: "))
print(num**2)
except :
print("输入不是整数")
try :
<语句块1>
except <异常类型> :
<语句块2>
# 标注异常类型后,仅响应该异常异常类型名字等同于变量
例:
try :
num = eval(input("请输入一个整数: "))
print(num**2)
except NameError:
print("输入不是整数")
异常处理的高级使用
- finally对应语句块4一定执行
- else对应语句块3在不发生异常时执行
try :
<语句块1>
except :
<语句块2>
else :
<语句块3>
finally :
<语句块4>
二、程序的循环结构
- 遍历循环
- 无限循环
- 循环控制保留字
- 循环的高级用法
2.1 遍历循环
(一)、遍历循环
遍历某个结构形成的循环运行方式
for <循环变量> in <遍历结构> :
<语句块>
- 从遍历结构中逐一提取元素,放在循环变量中。
- 由保留字for 和 in 组成,完成遍历所有元素后结束
- 每次循环,多获得元素放入循环变量并执行一次语句块
(二)、循环变量的应用
- 计数循环(N次)
- 遍历由range()函数产生的数字序列,产生循环
for i in range(N):
<语句块>
>>> for i in range(5):
print(i)
0
1
2
3
4
>>> for i in range(5):
print("Hello:",i)
Hello:0
Hello:1
Hello:2
Hello:3
Hello:4
- 计数循环(特定次)
for i in range(M,N,K):
<语句块>
- 遍历由range()函数产生的数字序列,产生循环。
>>> for i in range(1,6,2):
print("Hello:",i)
Hello:1
Hello:3
Hello:5
- 字符串遍历循环
for c in s :
<语句块>
- s是字符串,遍历字符串每个字符,产生循环
>>> for c in "Python123":
print(c,end=",")
P,y,t,h,o,n,1,2,3
4.列表遍历循环
for item in ls:
<语句块>
- ls 是一个列表,遍历其每个元素,产生循环
>>> for item in [123,"PY",456]:
print(item,end=",")
1234,PY,456
5.文件遍历循环
for line in fi:
<语句块>
- fi是一个文件标识符,遍历其每行,产生循环
>>> for line in fi:
print(line)
2.2 无限循环
由条件控制的循环执行方式
- 反复执行语句块,直到条件不满足时结束
无线循环的条件
>>> a = 3
>>> while a>0:
a=a-1
print(a)
2
1
0
2.3 循环控制保留字
break
和continue
break
跳出并结束当前整个循环,执行循环后的语句continue
结束当次循环,继续执行后续次数循环break
和continue
可以与for
和while
循环搭配使用
>>> for c in "Python":
if c =="t":
continue
print(c,end="")
Pyhon
>>> for c in "python"
if c=="t"
break
print(x,end="")
py
2.4 循环的高级用法
循环的扩展
for <变量> in <遍历结构>:
<语句块1>
else:
<语句块2>
while <条件>:
<语句块1>
else:
<语句块2>
- 当循环没有被break语句退出时,执行else语句块
- else 语句块作为“正常”完成循环的奖励
- 这里else的用法与异常处理中else用法相似
>>> for c in "PYTHON":
if c=="T":
continue
print(c,end="")
else:
print("正常退出")
PTHON正常退出
>>> for c in "PYTHON":
if c=="T":
break
print(c,end="")
else:
print("正常退出")
PY