分支结构与选择结构
单分支结构:
语法:
if <条件>:
<语句块>
二分支结构:
语法:
if <条件>:
<语句块1>
else :
<语句块2>
紧凑形式:
语法:
<表达式1> if <条件> else <表达式2>
# 条件成立则输出表达式1,不成立则输出表达式2。
# 演示:
print("结果为:{}".format("正确" if 1==1 else "错误" ))
# 输出:
结果为:正确
多分支结构:
语法:
if <条件1>:
<语句块1>
else if <条件2>:
<语句块2>
......
else:
<语句块n>
注意: 该语句可以利用一系列条件表达式进行检查,并在某个表达式为真的情况下执行相应的代码。
虽然该语句的备选动作较多,但是有且只有一组动作被执行。
最后面的else语句没有进行条件判断,它实际处理的是在前面所有条件都不匹配的情况下执行,所以else语句必须放在最后。
pass语句:
python提供了一个关键字pass,类似于空语句,可以用在类和函数的定义中或者选择结构中。当暂时没有确定如
何实现功能,或者为以后的软件升级预留空间,都可以使用该关键字来“占位”。
循环构造
for语句:
- 计数遍历循环:
语法:
for <循环变量> in <遍历结构,遍历体>:
<语句块>
解释:
1. 从遍历结构中逐一提取元素,放在循环变量中
2. 每次循环,所获得元素放入循环变量,并执行一次语句块
代码演示:
for i in range(5): # 计数循环,循环由range()函数产生的数字序列,产生循环
print("加油: ", i)
print("="*10)
for i in range(1, 8, 2):
print("加油", i)
输出结果:
加油: 0
加油: 1
加油: 2
加油: 3
加油: 4
==========
加油 1
加油 3
加油 5
加油 7
- 字符串遍历循环:
语法:
for c in <字符串>:
<语句块>
遍历字符串每个字符,产生循环
代码演示:
str = "asdfghj"
for i in str:
print(i)
输出结果:
a
s
d
f
g
h
j
- 列表遍历循环:
语法:
for i in <列表>:
<语句块>
遍历每个元素,产生循环
代码演示:
ls = ["as", 12, "xc"]
for i in ls:
print(i)
输出结果:
as
12
xc
- 文件遍历循环:
语法:
for i in fp:
<语句块>
fp是一个文件标识符,遍历其每行,产生循环
- for循环的扩展模式:
语法:
for <循环变量> in <循环结构>:
<语句块1>
else:
<语句块2>
注意:当for循环正常执行之后,程序会继续执行else语句中的内容。else语句只在循环正常执行并结束后才执行。
while语句:
- 无限循环:
语法:
while <条件>:
<语句块>
反复执行语句块,直到条件不满足是结束
- while循环的扩展模式
语法:
while <条件>:
<语句块1>
else:
<语句块2>
注意:当while循环正常执行后,程序会继续执行else语句中的内容。else语句只在循环正常执行后才执行,因此,可以在语句块2中放置判断循环执行情况的语句。
循环控制保留字:
- break语句:
break用来跳出最内层for或while循环,跳出该循环后程序继续执行后面代码。
注意:若有双重循环时,仅退出当前层次循环
代码演示:
for s in "asdf":
for i in range(10):
print(s, end="")
if s=="s":
break
输出结果:
aaaaaaaaaasddddddddddffffffffff
- continue语句:
用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。
代码演示:
for s in "asdf":
if s=="d":
continue
print(s, end="")
输出结果:
asf