一、顺序结构
程序设计中有 3 种基础结构,分别是顺序结构、分支结构和循环结构。
顺序结构就是按照自上而下的执行顺序,依次执行每一条代码。
二、分支结构
1、if 语句
语法格式:
if 表达式:
代码块
说明:
- if 语句的执行逻辑,满足条件则执行if语句的代码块,不满足条件则不执行if代码块。
- 表达式不管是什么,最终的结果都是“真”或者“假”。
实例:
# 条件为“真”
con = True
if con:
print("条件为真,执行if语句")
---------------------------------------------------------
运行结果:
条件为真,执行if语句
# 条件为“假”
con = False
if con:
print("条件为真,执行if语句")
print("条件为假,不执行if语句")
------------------------------------------------------
运行结果:
条件为假,不执行if语句
2、if...else... 语句
语法格式:
if 表达式:
代码块1
else:
代码块2
说明:
- 表达式为“真”,执行代码块1。表达式为“假”,执行代码块2。
实例:
# 表达式为“真”
con = True
if con:
print("条件为真,执行if语句")
else:
print("条件为假,执行else语句")
------------------------------------------------
运行结果:
条件为真,执行if语句
# 表达式为“假”
con = False
if con:
print("条件为真,执行if语句")
else:
print("条件为假,执行else语句")
-------------------------------------------------------
运行结果:
条件为假,执行else语句
3、if...elif...else... 语句
语法格式:
if 表达式1:
代码块1
elif 表达式2:
代码块2
//多个elif语句
else:
代码块n
说明:
- Python 会从上到下逐个判断表达式是否成立,一旦遇到某个成立的表达式,就执行后面紧跟的语句块;此时,剩下的代码就不再执行了,不管后面的表达式是否成立。
- 如果所有的表达式都不成立,就执行 else 后面的代码块。
实例:
# 条件1为“真”
con1 = True
con2 = True
if con1:
print("条件1为真")
elif con2:
print("条件1为假,条件2为真")
else:
print("所有条件都为假")
------------------------------------------------------------
运行结果:
条件1为真
# 条件1为“假”,条件2为“真”
con1 = False
con2 = True
if con1:
print("条件1为真")
elif con2:
print("条件1为假,条件2为真")
else:
print("所有条件都为假")
----------------------------------------------------------
运行结果:
条件1为假,条件2为真
# 所以条件都为“假”
con1 = False
con2 = False
if con1:
print("条件1为真")
elif con2:
print("条件1为假,条件2为真")
else:
print("所有条件都为假")
-------------------------------------------------------------------
运行结果:
所有条件都为假
三、循环结构
循环结构三要素:变量,循环终止条件,循环体
1、for 循环
功能:遍历可迭代对象
语法格式:
for 变量 in 可迭代对象:
代码块
说明:
- 可迭代对象包括字符串、列表、元组、字典、集合等序列类型
实例:
# 计算 0 到 9 的累加值
result = 0
for num in range(10):
result +=num
# result = result + num
print(result)
--------------------------------------------------------
运行结果:
45
说明:
- range() 是 python 内置函数,返回一个可迭代对象
2、while 循环
语法格式:
while 表达式:
代码块
说明:
- 表达式为的值为“真”,执行代码块。
- 表达式的值为“假”,跳出循环体。
- 如果表达式一直为“真”,则会产生死循。
实例:
# while 循环,计算 0 到 9 的累加值
result = 0
num = 1
while num < 10:
result +=num
num += 1
print(result)
-----------------------------------------------------------
运行结果:
45
四、关键字
1、pass
pass关键字,表示空语句,用来让解释器跳过此处,什么都不做。
2、break
break 关键字,用来跳出当前循环体,对应 for 循环和 while 循环都适用。
实例:
# break 跳出当前循环体
for i in range(5):
if i == 3:
print("遇到3跳出当前循环体")
break
print(i)
---------------------------------------------------------------
运行结果:
0
1
2
遇到3跳出当前循环体
说明:
- 对于嵌套的循环结构来说,break 语句只会终止所在循环体的执行,而不会作用于外层循环体。
3、continue
continue关键字 ,可以跳出当次循环,执行下一次循环。
实例:
# continue 跳过此次循环
for i in range(5):
if i == 3:
print("跳过数字3")
continue
print(i)
-----------------------------------------------------
运行结果:
0
1
2
跳过数字3
4
五、嵌套循环
if ,else,for ,while语句之间相互嵌套,循环嵌套结构的代码,Python 解释器执行的流程为:
- 当外层循环条件为 True 时,则执行外层循环结构中的循环体;
- 外层循环体中包含了普通程序和内循环,当内层循环的循环条件为 True 时会执行此循环中的循环体,直到内层循环条件为 False,跳出内循环;
- 如果此时外层循环的条件仍为 True,则返回第 2 步,继续执行外层循环体,直到外层循环的循环条件为 False;
- 当内层循环的循环条件为 False,且外层循环的循环条件也为 False,则整个嵌套循环才算执行完毕。
1、使用for...for...嵌套循环打印9*9乘法表
for i in range(1,10): # 第几行
for j in range(1,i+1): # 第几列
print('{}*{}={}\t'.format(j,i,j*i),end='') # 注意这里是 列*行
print() # 实现分行输出,不能少
-------------------------------------------------------------------------------------
运行结果:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
2、使用while...for...嵌套循环打印9*9乘法表
i = 1
while i < 10 :
for j in range(1, i+1) :
print('{}*{}={}\t'.format(j, i, i*j), end='')
print()
i +=1
------------------------------------------------------------------------
运行结果:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
说明:
- '{}'.format(args) 格式化字符串操作
- \t 制表符
reference: