简介
结构化程序设计是对面向过程编程的优化,它采用自上而下、逐步求精的设计方法,把系统划分为若干功能模块,各模块按要求单独编程,再通过顺序、分支、循环的控制结构进行连接。该方法强调程序的结构性,编写的代码易读、 易懂、思路清晰。
简单语句简称单句,是由一个单独的逻辑行构成的。多条简单语句可以存在于同一行内,并以分号分隔。
复杂语句简称复句,一条复合语句由一个或多个子句组成。一个子句包含一个句头和一个句体。
- 子句头:以一个关键字开始,并以一个冒号结束。
- 子句体:由一个子句控制的一组语句或语句块,通常采用换行缩进书写,多条语句保持多行、相同层缩进。
常见的复合语句分类如下:
if、while和for
:设计程序结构,实现流程控制;
try
:设计异常处理器,实现异常处理;
with
语句:设计上下文管理器,实现特殊异常处理;
def和class
:创建函数体和类结构;
async
:定义协程,可以在多个位置上挂起和恢复执行。
分支结构
单分支: 使用if
语句设计,如果条件表达式为真,则执行语句块;否则,忽略语句块。
'''
if <条件表达式>:
<语句块>
或者
if <条件表达式>:<单句>
'''
if True:print('Hi,Python')
二分支:使用if
和else
语句配合设计,如果条件表达式为真,则执行语句块1;否则,将执行语句块2.
'''
if <条件表达式>:
<语句块1>
else:
<语句块2>
或者
[语句块2,语句块1][条件表达式]
'''
import random
num = random.randint(1,100)
if num%2 == 0:
print(str(num),'是偶数。')
else:
print(str(num),'是奇数。')
多分支:嵌套条件语句,常用if-elif-else
语句组合设计多分支结构。
'''
if <条件表达式1>:
<语句块1>
elif <条件表达式2>:
<语句块2>
...
else:
<语句块n>
'''
import random
num = random.randint(1,100)
if num < 60:
print(str(num),'小于60')
elif num < 80:
print(str(num),'大于等于60,但小于80。')
else:
print(str(num),'大于等于80')
循环结构
循环结构表示程序反复执行某个或某些操作,直到循环条件为假时才可终止循环。Python 语言的循环结构包括两种:无限循环和遍历循环。
无限循环:当循环条件表达式的值为真时,将执行语句块,执行结束后,再返回循环条件表达式继续求值判断。直到循环条件表达式的值为假时,才跳出循环。
'''
while <循环条件>:
<语句块>
或者
while <循环条件>:<单句>
'''
遍历循环:for
语句从可选代对象中逐一提取元素,传递给循环变量,然后执行一次语句块,在语句块中可以引用循环变量。for 语句的循环执行次数是根据可迭代对象中元素个数确定的。
'''
for <循环变量> in <可迭代对象>:
<语句块>
'''
可选代对象可以是字符串、字节串、列表、元组、宇典、集合,文件、range对象、生成器、选代器等。
终止循环:使用break
语句可以中途终止循环的执行,一般与if
语句配合使用,避免无限循环,浪费资源。break
语句只能用在 for
或 whilewhile
循环语句中。
'''
while <循环条件>:
if <条件表达式>:
break
<语句块>
或者
for <循环变量> in <可迭代对象>
if <条件表达式>:
break
<语句块>
'''
for i in range(10): # 循环2:外层循环
for j in range(10): # 循环1:内层循环
print(i,j) # 执行代码,可以添加更多语句
if i == 2 and j == 2: # 跳出嵌套循环的条件
break # break1:内层循环终止
else:
continue
break # brcak2:外层循环终止
在嵌套循环中,break语句仅能终止当前循环,返回外层循环,继续执行。
结束本次循环:使用continue
语句可以中途结束本次储环的执行,跳出循环体中下面尚末执行的语句,但不跳出当前循环。
'''
while <循环条件>:
if <条件表达式>:
continue
<语句块>
或者
for <循环变量> in <可迭代对象>:
if <条件表达式>:
continue
<语句块>
'''
a=[1,"hi", 2,"good","4","",3,4,5.3,8] #定义井初始化列表a
b = [] # 定义临时空列表b
for i in a: # 遍历列表a
if type(i) != int: # 如果为非整数
continue # 则返回继续下一次循环
b.append(i) # 把数宇奇存到列表6
print(b) # 输出 [1,2,3,4,8]