Python应用轻松入门
上QQ阅读APP看书,第一时间看更新

2.2 循环结构

Python提供了两种循环:for循环和while循环。

1.for循环

for循环可以遍历任何序列的数据,例如一个列表或者一个字符串,for循环的语法格式如下:

    for变量 in序列结构:
        语句块

代码如下:

    for x in'首都北京':
        print(x)

运行结果如下:

    首
    都
    北
    京

可以看出,for循环按照序列结构自身的序列顺序,依次取出一个元素并赋值给变量。任何序列结构都可以用for循环遍历,示例代码如下:

    for i in['福建','山东']:
        print(i)

运行结果如下:

    福建
    山东

for语句经常和range()函数配合使用,并可指定循环次数。range()函数用于产生一系列数据,range()函数的语法结构如下:

    range(开始数字,结束数字,步长)

例如range(-10,-100,-30)会生成-10、-40、-70;当第3个参数省略时,数据的步长为1,例如range(5,8)会生成5、6、7;当第1个参数省略时从0开始产生数据序列,例如range(3)会生成0、1、2,示例代码如下:

    #//第2章/2.5.py
    for a in range(2,10,2):
        print(a,end='')
    print()
    for a in range(2,10):
        print(a,end='')
    print()
    for a in range(2):
        print(a,end='')

运行结果如下:

    2 4 6 8
    2 3 4 5 6 7 8 9
    0 1

注意 range()函数产生的数据不包含右边界。

range(3)会产生数据0、1、2,不包含3。

range(2,10)会产生数据2、3、4、5、6、7、8、9,不包含10。

2.while循环

while循环语法格式如下:

    while<判断条件>:
        <执行语句>

如果<判断条件>成立,就执行<执行语句>;如果判断条件不成立,就退出循环,示例代码如下:

    #//第2章/2.6.py
    x=0
    while x<3:
        print('循环中')
        x=x+1
    print('循环结束')

运行结果如下:

    循环中
    循环中
    循环中
    循环结束

如果退出条件不成立,则程序会一直执行。

3.循环控制continue与break

continue用于跳过该次循环,代码如下:

    #//第2章/2.7.py
    x=0
    while x< 10:
        x=x+1
        if x==2:
            continue
        print(x,end='')

运行结果如下:

    13456789

由上可知,当x==2时循环并没有结束,只是跳过了当次循环。

break则用于退出循环,示例代码如下:

    #//第2章/2.8.py
    x=0
    while x< 10:
        x=x+1
        if x==2:
            continue
        if x==7:
            break
        print(x,end='')

运行结果如下:

    13456

由上可知,当x==7时break结束了当前循环。如果嵌套了多层循环,则它只终止所在层的循环,示例代码如下:

    #//第2章/2.9.py
    x=0
    while x<6:
       print('这是外层循环')
       x=x+1
       for i in range(x):
           if i==4:
               break
           print(i,end='')
       print()

运行结果如下:

    这是外层循环
    0
    这是外层循环
    01
    这是外层循环
    012
    这是外层循环
    0123
    这是外层循环
    0123
    这是外层循环
    0123

由此可见,当i==4时break退出for循环,而外层的while循环还在进行。