Python的流程控制语句

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后的代码块的。

  • 24
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值