结构化程序设计思想是最早由E.W.Dijikstra在1965年提出的,结构化程序设计思想确实使程序执行效率提高。程序的出错率和维护费用大大减少。结构程序设计就是一种进行程序设计的原则和方法,按照这种原则和方法可设计出结构清晰、容易理解、容易修改、容易验证的程序。结构化程序设计的目标在于使程序具有一个合理结构,以保证和验证程序的正确性,从而开发出正确、合理的程序。
结构化程序设计,主要有以下三种基本结构:顺序结构、选择结构(分支结构)和循环结构,由这三种基本结构可以组合出任意复杂的程序。换句话说,任何一个结构程序都可以由这三种基本控制结构来表示。
顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的。
选择结构表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。选择结构有单分支、二分支和多分支三种形式。
条件语句的构成
在Python当中,条件语句一般由if,else,elif组成。根据其组成的分支数量不同,可分为单分支结构、二分支结构和多分支结构。
单分支结构
单分支结构由一个if语句组成,如果条件成立则执行指定的语句块;如果条件不成立则不执行任何语句块,直接进入条件语句之后的语句。
单分支结构流程图,如下
单分支结构的写法
if语句后面要跟随条件表达式。
if条件语句后面必须跟英文冒号(:),表示条件语句成立后年需要执行的程序的开始。
条件成立时运行的语句块必须缩进。
不在条件语句执行模块里面的后续语句不能缩进,必须和if条件语句保持同一缩进。
前面语句
if 条件表达式:
语句1
语句2
...
语句n
后续语句
例子:
a = 10
if a > 0:
print('a为正数')
print('程序结束')
二分支结构
二分支结构,也有一个if语句,但和单分支结构不同的是,二分支结构有条件成立和条件不成立两种情况。
二分支结构流程图,如下
例子:
a = 10
if a > 0:
print('a为正数')
else:
print('a为0或者负数')
print('程序结束')
二分支结构,其格式为if…else…
多分支结构
多分支结构流程图,如下
例子:
a = 10
if a == 0:
print('a为0')
elif a > 0:
print('a为正数')
else:
print('a为负数')
print('程序结束')
多分支结构,其格式为if…elif…elif…else…
其中elif可以有多个
分支结构的嵌套
在复杂的逻辑判断时,分支结构可以嵌套使用,根据条件自由组合。注意嵌套时缩进的问题,被嵌套的分支结构被整体看作一个代码块。
例子:
a = 34
if a % 2 == 0:
if a % 3 == 0:
print('a可以被2整除,也可以被3整除')
else:
print('a可以被2整除,但不可以被3整除')
else:
if a % 3 == 0:
print('a不可以被2整除,但可以被3整除')
else:
print('a不可以被2整除,也不可以被3整除')
print('程序结束')
注意事项
分支之后的程序,无论条件是否成立,都要执行。
else后面虽然没有条件语句,但是依然需要加英文冒号。
elif后面必须有条件语句,并且条件语句后面也要加英文冒号。
嵌套分支注意分支的缩进,缩进的不同代表不同的嵌套层次。
在Python中,循环结构可以分为两大类:条件循环(while循环)和便利循环(for循环)。
条件循环
条件循环(while循环)指的是如果某个条件成立,则一直执行某个语句块,一般被重复执行的语句块称作循环体。
条件循环流程图,如下
条件循环的一般格式
前序语句
while 判断条件:
循环体
后续语句
例子:
a = 1
while a < 5:
print(a)
a += 1
print('程序结束')
遍历循环
遍历循环(for循环)是序列(或其他可迭代对象)中每个元素执行相关语句块的循环过程;也可以理解为将可迭代的对象从迭代器里面按照一定的规则(如一个一个,隔一个等)取出,然后进行相关操作的过程。
遍历循环流程图,如下
遍历循环的一般格式
前序语句
for 变量 in 序列:
循环体
后续语句
例子:
for i < [1,2,3,4,5,6,7]:
print(i)
print('程序结束')
break语句
在循环中,如果需要跳出循环,一般使用break语句。break的作用是跳出当前循环。
break语句一般会和条件语句结合使用,如下所示:
l = [1,2,3,4,5,6,7]
for i in l:
if i > 3:
break
print(i)
print('程序结束')
continue语句
和break语句不同,continue语句并不会跳出循环,它只是停止当次循环,然后跳回循环开始位置,继续下一次循环。
看一个打印1-10中奇数的例子:
a = 0
while a < 10:
a += 1
if a % 2 == 0:
continue
print(a)
print('程序结束')
range()
range并不是一种类型,也不是列表,它是一种可迭代对象。
ranger()的参数有3个,格式为range(start, stop, step)
range()一般和for结合使用,用于控制循环次数,如下:
for i in range(5):
print(i)
print('程序结束')
注意事项
break和continue的区别
循环也可以嵌套使用,需要注意缩进问题
range() 开闭区间问题
本节主要学习了结构化程序设计,结构化程序的三种结构。这三种结构是任意程序逻辑的基石,今后无论我们编写的程序逻辑有多复杂,均可以通过顺序,选择,循环这三种结构实现。灵活地将它们组合,嵌套去完成我们要做的事。
正文结束相关分类:
少儿编程python相关标签: