Python的基本语句结构——三大程序流程结构目录
一、程序设计流程结构概述
在程序设计语言中,有三种基础的流程结构顺序结构、选择结构和循环结构。许多简单或复杂的算法都可以由这三种基本结构组合而成,是学习任何一门编程语言的基础语法及结构。
二、顺序语句
按照代码执行的先后顺序,依次执行,程序中的大多数代码都是这样执行的,就可以理解为说明书的下一步一样,像时间的飞逝一样一去不复返,所以真的要好好珍惜时间,大哭!
1、顺序语句框图
2、代码
print("程序开始!")
print("语句1!")
print("语句2!")
print("语句结束!")
代码演示结果:
三、选择语句
选择结构也被称为分支结构,也是程序设计中非常重要的基本结构。选择结构不同于顺序结构,有自己特定的语法规则,而且样式也有好几个,一般通过一条或多条语句的执行结果来决定执行的代码块。在汉语里面,是充当如果…就…这类转折语句。
代码逻辑运算后进行判断,逻辑运算的结果有两个:真(True
)和假(False
),如果满足条件那么执行满足条件的语句里面,否则执行不满足语句。而且这类语句和下面的循环语句可以语句间嵌套,内部嵌套。
1、if语句
首先先判断条件1是否满足,满足的话,就进入语句1,执行内容可以多行,用缩进来区分同一范围。不满足就直接跳过语句1,执行if语句以外的语句。
(1)语句格式
if 条件1:
…语句1
注意:…是缩进的意思,一般四个空格
(2)语句框图
(3)代码
a = 10
if a > 0:
print("满足的语句!!!")
#注意缩进,表示进入满足语句里面,是python语言设计的规定
print("不在选择语句范围的语句!!!")
代码演示结果:
2、if…else语句
与上面if
语句一样,但是增加了else
语句,当需要在条件1不成立时执行的内容,则可以语句2,所以这个语句是一定要进入if
语句里面的其中一个的,然后在进行if
语句之外语句。
(1)语句格式
if 条件1:
…语句1
else:
…语句2
(2)语句框图
(3)代码
a = 10
if a > 0:
print("满足的语句!!!")
else:
print("不满足的语句!!!")
print("不在选择语句范围的语句!!!")
代码演示结果:
3、if…elif…else语句
这个语句在if...else
语句中间,添加了一个elif
语句,就是当有多个条件时使用,可以理解为if...else
语句在else
语句里的嵌套。else
语句可以选用!
建议使用吧!因为在编写代码时很难保证所有的条件都考虑到,所以一些奇葩的条件就可以放在else
里面进行提示,避免程序中断。
(1)语句格式
if 条件1:
…满足条件1执行语句
elif 条件2:
…满足条件2执行语句
else:
…其他情况执行的语句
(2)框图
(3)代码
a = 0
if a > 0:
print("满足的语句!!!")
elif a == 0:
print("不满足if条件,但满足条件elif的语句!!!")
#elif可以多个
else:
print("不满足if条件,也不满足条件elif的语句!!!")
print("不在选择语句范围的语句!!!")
代码演示结果:
四、循环语句
循环语句允许我们执行一个语句或语句组多次,循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句。
当反复执行循环体,当不需要进入循环体时,判断条件改为false
,结束循环。否则一直执行循环体里面的语句。
1、while语句
首先判断布尔表达式是否满足条件,如果满足那么进入循环体语句,直到布尔表达式不满足时跳出循环。
注意:在一般情况下,尽量不要让循环体一直进行下去,容易出现死循环,导致电脑出现死机等情况!
(1)语句格式
while 布尔表达式:
…循环体语句
(2)框图
(3)代码
a = 10
while a > 0:
print("满足条件的语句!!!")
a -= 2
代码演示结果:
2、while…else语句
在while
语句基础上加入了else
语句,当while
语句不满足布尔表达式时,才能执行else
语句里面的语句2,如果循环体突然中断,将不能进入else
语句。
注意:这里的“不满足布尔表达式”与“循环体突然中断”不一样
(1)语句格式
while 布尔表达式:
…循环体语句
else:
…语句2
(2)框图
(3)代码
a = 10
while a > 0:
print("满足条件的语句!!!")
a -= 1
if(a == 0):
break #在文章后面会讲解,这里先暂时理解为非正常中断循环体
else:
print("正常结束后执行的语句!!!")
print("其他语句!!!")
代码演示结果:
3、pass关键字
在python中pass
是空语句,不做任何事情,主要是为了保持程序结构的完整性,充当占位语句,否则语句不完整容易报错,使得程序中断。
(1)语句格式
pass
(2)代码
a = 11
if a > 10:
pass
else:
print("不打印这句话!!!")
代码演示结果:
4、continue关键字
在python中continue
是跳出本次循环体,意思可以理解为在数数时,如1,2,3,5,6,跳过4这个数字,continue
语句也一样就是不进行一次循环体,跳过去进行下一次循环体。continue
语句一般用在循环语句中。
(1)语句格式
continue
(2)代码
a = 0
while a < 10:
if a == 5:
a += 1
continue
print(a)
a += 1
代码演示结果:
5、break关键字
在python中break
是终止本次循环,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句,意思是当在做某事时被人叫去做别的事了,而不在执行这件事。一般用来终止循环语句。
如果使用嵌套循环,break语句将只终止当前的循环语句,然后继续执行外面的循环。
注意:continue
语句是跳出循环体,而continue
语句是跳出循环,两个语句是不一样的。
(1)语句格式
break
(2)代码
a = 0
while a < 10:
if a == 5:
break
print(a)
a += 1
代码演示结果:
6、for语句
for
语句可以遍历任何序列的项目,即通过序列索引迭代。配合in
关键字使用,其中的序列为可以一个列表或者一个字符串。
(1)语句格式
for 变量 in 序列:
…循环体
(2)框图
(3)代码
for i in [1,2,3,4]:
print(i)
代码演示结果:
7、for…else语句
在for
语句基础上加入了else
语句,当for
语句序列正常遍历完时,才能执行else
语句里面的语句2,如果循环体突然中断,将不能进入else
语句。
(1)语句格式
for 变量 in 序列:
…循环体语句
else:
…语句2
(2)框图
(3)代码
for i in [1,2,3,4]:
print(i)
else:
print("正常遍历完序列!!!")
代码演示结果:
8、搭配for循环常用的函数
a、range函数
range
函数是一个全局函数,一般用来进行递增的,他的数可以看作是一个等差数列。有三个参数,但是在运行是至少的有一个参数,一般配合for
语句使用。其实在Python2中这个函数是由xrange函数转换而来,而不是range函数。
start参数:表示结束时的数值-1,默认从0开始,是一个前闭后开的区间
stop参数:第一个表示开始时的数值,第二个表示结束时的数值-1
step参数:第一个表示开始时的数值,第二个表示结束时的数值-1,第三个表示等差数列的间距d。
(1)语句格式
range(start, stop[, step])
(2)代码
for i in range(1,10,2):
print(i)
代码演示结果:
b、enumerate函数
enumerate
函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。对于字典,返回key的下标(无序)和key本身的值。
sequence参数:表示一个序列、迭代器或其他支持迭代对象。
start参数:表示下标起始位置
(1)语句格式
enumerate(sequence, [start=0])
(2)代码
ar = ['a', 'b', 'c', 'd', 'd']
for data, i in enumerate(ar, 1):
print(data, ' ', i)
代码演示结果:
c、items函数
items
函数是输出字典的键值对,仅适用于字典。
(1)语句格式
dict对象.items()
(2)代码
ar = {'a':1,'b':3}
for i,j in ar.items():
print i,j
代码演示结果:
五、例子
1.打印直角三角
num = int(input("请输入需要打印的行数:"))
for i in range(1, num+1):
print("*" * i)
代码演示结果:
2.九九乘法表
for i in range(1, 10):
for j in range(1, i+1):
print("%d * %d = %d \t" % (i, j, (i*j)), end = "")
print()
代码演示结果:
9、列表推导式(不推荐使用)
简化for循环:链接