1.程序语句
所有编程语言在编写的时候都要遵守语言结构和流程控制,。它们控制了整个程序运行的步骤。如果没有流程控制语句,整个程序将按照线性顺序进行,而不能根据用户需求决定程序执行的顺序。
流程控制语句主要包括顺序控制语句、条件控制语句和循环控制语句。
2.选择语句
选择语句也称为条件语句,即按照条件选择执行不同的代码片段。在Python中,选择语句主要有三种:分别是if语句,if…else语句和if…elif…else多分支语句
①简单的if语句
几乎所有的语言都有if语句,if语句按照条件执行不同的代码。在Python中,语句的语法格式如下:
if 表达式:
语句 1
语句 2
.....
【注意】:上述语法格式中的“语句1”和“语句2”等前的缩进(相对于if行每个有四个空格)不能省略。
每条if语句的核心都是一个值为“True”或者“False”的表达式,这种表达式称为条件测试。根据测试的值来判断是否执行if中的代码。如果测试值为“True”,Python就执行紧跟在if语句后面的代码。
示例:
a=True
if a:
print("It's True.")
结果显示如下:
It's True.
a=False
if a:
print("It's True.")
这个程序后面没有输出,说明print语句未被执行。表明测试值为“False”。
当“if”后面的条件测试是为数字时,只有数字“0”的条件测试为“False”,另外如果if后面的条件是字符串,那么只有字符串为空字符串的时候条件测试为“False”。
【注】:字典、列表和元组类型的数据,当它们不包含任何元素时,条件测试结果为False。不执行if语句中的代码。当它们包含元素时,条件测试的结果为True,执行语句。
示例:
a1=[]
a2=[2,4]
if a1:
print("a1")
if a2:
print("a2")
结果如下:
a2
② if…else语句
在条件测试通过时执行一个操作,在没有通过时执行另一个操作的情况下,可以使用Python提供的if…else语句。
语法格式如下:
if 表达式:
语句块 1
else:
语句块 2
实例:
a1=-1
if a>=0
if a>0:
print("a大于0")
else:
print("a等于0")
结果将不输出任何提示信息,这是因为else语句属于第三行的if语句。当a小于0时,else语句将不再执行。将程序修改如下可以输出“a等于0”。
a1=-1
if a>=0:
if a>0:
print("a大于0")
else:
print("a等于0")
③if...elif...else 语句【多分支选择语句】
语法格式:
if 表达式 1:
语句块 1
elif 表达式 2:
语句块 2
elif 表达式 3:
语句块 3
......
else:
语句块 n
使用该语句时,如果为真则执行语句。如果为假则跳过该语句,进行下一个elif的判断。
【注意】:if和elif都需要判断表达式的真假,而else则不需要判断;另外,else和elif都需要跟if一起使用,不能单独使用。
如果有“elif”,则“else”必须在最后面,不能插在“elif”之前。
3.循环语句【主要是while循环和for循环】
①while循环
while循环是通过一个条件来控制是否需要继续反复执行循环体中的语句,语法格式如下:
while 表达式:
循环体
【提示】:while循环是指一组被重复执行的语句。
while语句后的表达式和if语句一样,都是条件测试。只有结果为True才会执行while循环体内的语句。
示例:
number=1
while number<=5:
print(number)
number+1=
结果输出如下:
1
2
3
4
5
②for循环
for循环是一个计次循环,一般在循环次数已知的情况下应用。通常适用于枚举或者遍历序列以及迭代对象中的元素。语法格式如下:
for 变量 in 序列:
循环体
示例:
for x in (1,2,3,4,5,6)
print(x)
结果如下:
1
2
3
4
5
6
在日常使用中经常会遇到需要多次执行或者输出的例子。如果需要遍历“in”后,元组里的1~100或者1~1000中的每个元素,需要写很长的列表,非常麻烦。可以使用Python中内置的range()函数处理此类问题。
range()函数的语法格式如下:
range(start,end,step)
【注意】:在使用range()函数时,如果只有一个参数,那么表示的是end;如果有两个参数,那么表示的是start和end;如果三个参数都存在,那么最后一个表示步长。
示例:
for x in range(10):
print(x)
结果如下:
0
1
2
3
4
5
6
7
8
9
4.循环嵌套
在Python中,允许在一个循环体中嵌入另一个循环体,这个称为循环嵌套。
①在while循环中嵌入while循环的格式如下:
while 表达式1:
while 表达式2:
循环体2
循环体1
②在for循环中嵌入for循环 的格式如下:
for 变量1 in 序列1:
for 变量2 in 序列2:
循环体2
循环体1
③在while循环中嵌入for循环格式如下:
while 表达式:
for 变量 in 序列:
循环体2
循环体1
④在for循环中嵌入while循环的格式如下:
for 变量 in 序列:
while 表达式:
循环体2
循环体1
5.跳转语句
当循环条件一直满足时,程序将会一直运行下去,直到不满足条件,退出循环。有时候可能情况比较复杂,需要跳转语句或者退出循环体。
①break语句
break语句可以终止当前的循环,包括while和for在内的所有控制语句。语法比较简单,只需要在相应的while或者for中加入即可。
示例:
for x in range(10):
if x>5:
break
print(x)
结果如下:
0
1
2
3
4
5
②continue语句
它只能停止本次循环然后提前进入下一次循环。
示例:
number=0
while number<10
number+=1
if number%2==0:
continue
print(number)
结果显示如下:
1
3
5
7
9
③pass语句
在Python中的pass语句是空语句,它不做任何操作,一般起到占位作用。
示例:
for x in range(10):
if x==5:
pass
else:
print(x)
结果如下:
0
1
2
3
4
6
7
8
9
pass语句主要与Python的缩进有关。
6.循环语句中的else
(1)与while组合出现的else后的代码,会在while后条件测试为False时执行。
示例:
number=0
while number<4:
print(number,"is less than 4")
number=number+1
else:
print(number,"is not less than 4")
结果如下:
0 is less than 4
1 is less than 4
2 is less than 4
3 is less than 4
4 is not less than 4
(2)for后面组合else的情况与while相似
示例:
for number in range(6):
print(number,"in for segment")
else:
print(number,"in else segment")
结果如下:
0 in for segment
1 in for segment
2 in for segment
3 in for segment
4 in for segment
5 in for segment
5 in else segment
从上述代码可以看出,else后的代码块都被执行了。如果由于break操作退出了for循环,是不会执行else后的代码块的。