顺序语句结构
1.1顺序结构
在顺序结构中,语句都是按出现的位置一句一句顺序执行,每条语句都会且仅会执行一次。
a=10
b=10
print(a+b)
在我们之前的学习中的程序均是顺序结构的
条件和分支
2.1分支结构——单分支结构
if 条件表达式:
条件执行体
这里的缩进很重要,缩进代表代码在所缩进的代码里面。条件表达式为True则执行条件执行体,否则不执行。
例如:
a=10
b=100
if a<b:
a,b=b,a #判断两数大小,将大的数赋给a
这里与C++和Java不同,可以直接交换两数,不需要引入第三个数,这里也是Java的便捷之处。
2.2分支结构——双分支结构
if 条件表达式:
语句1
else:
语句2
若条件表达式为True,则执行语句1,否则执行语句2。
例如:
a=10
b=100
if a>b:
print(a,b)
else:
a,b=b,a
print(a,b)
2.3分支结构——多分支结构
if 条件表达式1:
语句1
elif 条件表达式2:
语句2
elif 条件表达式N:
语句N
else:
语句N+1
这里可以类似于C++和Java的switch()语句。
例如:
score=int(input('请输入您的成绩:'))
if score>=90
print('优秀')
elif score<90 and score>=80:
print('良好')
elif score<80 and score>=60:
print('及格')
else:
print('不及格')
2.4分支结构——嵌套if的使用
if 条件表达式1:
if 内层条件表达式:
内层语句1
else:
内层语句2
else:
语句1
嵌套if可以进行多次连续判断
例如:
#将最大值赋值给a
a=10
b=100
c=67
if a>b: #判断a,b之间的大小,若a>b则继续执行之后的语句
if a>c: #判断a,c之间的大小,若a>c则直接输出,否则a,c交换然后输出
print(a,b,c)
else:
a,c=c,a
print(a,b,c)
else:
a,b=b,a #a,b交换
if a>c:
print(a,b,c)
else:
a,c=c,a
print(a,b,c)
2.5条件表达式
x if 判断条件 else y
如果判断条件的布尔值是True,则执行x,若布尔值为False,则执行y
a=10
b=100
a if a>b else a,b=b,a
之前的if语句均可以进行简化。
2.6 pass语句
pass语句什么都不做,只是一个占位符,用在语法上需要语句的地方。
例如先搭建好语法结构但还没有想好代码怎么写的时候
if a>b:
pass
else
pass
一般与if语句的条件执行体,for-in语句的循环体以及定义函数时的函数体使用。
循环
3.1 while循环
while 条件表达式:
条件执行体(循环体)
选择结构的if与循环结构的while的区别:
if判断一次,调节为True执行一次。
while判断N+1次,条件为True执行N+1次。
3.2 range()函数
range()函数能够产生一个迭代序列。
#[start,stop)前闭后开结构,第三个参数代表按step值递增或递减,默认值为1
range(start,stop,step)
range(stop) #[0,stop)
range(start,stop) #步长默认为1
3.3 for-in循环
for 变量 in 可迭代的对象:
循环体
这里的可迭代对象就有例如列表,字符串,字典等等,还有上面介绍的range()函数就是一个可迭代对象。
#又称为遍历
for i in range(1,10):
print(i)
#输出range()函数里面的值:1 2 3 4 5 6 7 8 9
3.4 else语句
while ………:
…………
else:
…………
#循环体中没有碰到break,则执行完循环后执行
for i in …………:
…………
else:
…………
3.5 嵌套循环
循环结构中又嵌套了另外的完整的循环结构,其中内层循环作为外层循环的循环体执行。
while …………: #外层循环
while …………: #内层循环
…………
3.6 break与continue语句
break语句:用于结束循环结构,通常与分支结构if一起使用。
continue语句:用于结束当前循环,进入下一层循环,通常与分支结构if一起使用。
二重循环中break和continue用于控制本层循环,不影响外层循环。