Python基础语法(3)
程序的分支结构
单分支结构
根据判断条件结果而选择不同向前路径的运行方式
if <条件>:
<语句块>
二分支结构
根据判断条件结果而选择不同向前路径的运行方式
if <条件1>:
<语句块1>
else :
<语句块2>
紧凑形式:适用于简单表示的二分支结构
<表达式1>if<条件>else<表达式2>
guess = eval(input())
print('猜{}了'.format('对' if guess == 99 else '错'))
多分支结构
if <条件1>:
<语句块1>
elif <条件2>:
<语句块2>
...
else :
<语句块N>
条件组合
操作符及其使用 | 描述 |
---|---|
x and y | 两个条件x和y的逻辑与 |
x or y | 两个条件x和y的逻辑或 |
not x | 条件x的逻辑非 |
异常处理
- 异常处理的基本使用:
try :
<语句块1>
except :
<语句块2>
try :
<语句块1>
except <异常类型> :
<语句块2>
示例1:
try :
num = eval(input('请输入一个整数值:'))
print(num ** 2)
except :
print('输入不是整数')
示例2:
try :
num = eval(input('请输入一个整数值:'))
print(num ** 2)
except NameError : # 标注异常类型后,仅响应该异常类型名字等同于变量
print('输入不是整数')
- 异常处理的高级使用:
try :
<语句块1>
except :
<语句块2>
else :
<语句块3> # else对应语句块3在不发生异常情况下执行
finally :
<语句块4> # finally对应语句块4一定执行
程序的循环结构
遍历循环
遍历某个结构形成的运行方式,从遍历结构中逐一提取变量放在循环变量中;由for和in组成,完整遍历所有元素后结束。每次循环,所获得元素放入循环变量,并执行一次语句块。
for <循环变量> in <遍历结构>:
<语句块>
遍历循环的应用
- 计数循环(N次)
for i in range(N): # 从0开始计数直到N-1
<语句块> # 遍历由range()函数产生的数字序列,产生循环
- 计数循环(特定次)
for i in range(M, N, K): # 从M开始不到N,到N之前的整数,以K为步长
<语句块>
示例:
for i in range(5): # N次
print('Hello:', i)
Hello:0
Hello:1
Hello:2
Hello:3
Hello:4
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,
- 列表遍历循环
for item in ls : # ls是列表,遍历列表每个元素,产生循环
<语句块>
示例:
for item in [123, 'PYTHON', 456] :
print(item, end = ',')
123, PYTHON, 456,
- 文件遍历循环
for line in fi : # fi是个标识符,遍历文件的每一行,产生循环
<语句块>
无限循环
由条件控制的循环运行方式,反复执行语句块,直到条件不满足为止
while <条件> :
<语句块>
示例:
a = 3
while a > 0 :
a = a - 1
print(a)
2
1
0
a = 3
while a > 0 :
a = a + 1
print(a)
4
5
6
... # 程序一直运行下去,Ctrl + C退出执行
循环控制保留字
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(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
循环的高级用法
循环与else:
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('正常退出')
python正常退出
for c in 'python' :
if c == 't' :
break
print(c, end = '')
else :
print('正常退出')
py