python的循环

作者: 暖A暖 | 来源:发表于2019-06-12 18:45 被阅读0次

    我们在写代码时经常会用到循环,python中有for循环和while循环,我们来详细的了解一下这两种循环。

    for循环

    Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。


    我们通过一个例子来看一下for循环的具体使用,我们通过range()函数创建一个整数列表,然后将列表中的元素通过for循环打印出来。
    # for i in range(5)开始迭代的时候,生成一个数值0,第二次迭代再生成数值1,第三次迭代再生成数值2,
    
    for i in range(5):
        print(i)
    
    # 输出:
    0
    1
    2
    3
    4
    

    上面是使用了range()函数,我们试试自己定义一个列表来通过for循环打印:

    list1 = ['a', 'b', 'c']
    for i in list1:
        print(l)
    
    # 输出:
    a
    b
    c
    

    仔细看上面两个例子,我们发现,循环每次迭代时,for会从序列中取一个元素赋值给控制变量i(可自己定义),下一轮迭代又取下一个元素赋值给i。

    for循环使用 else 语句
    除了使用单独的for语句,还可以使用for ... else语句,else中的语句会在循环正常执行完的情况下执行。

    list1 = ['a', 'b', 'c']
    for i in list1:
        print(i)
    else:
        print("循环正常执行完毕")
    # 输出:
    a
    b
    c
    循环正常执行完毕
    

    上面我们说到循环正常执行完毕的情况,那肯定是还有循环不正常执行完毕的情况。什么情况就算不正常执行完毕的退出呢?像通过break、continue语句退出循环的就不算正常执行完毕。

    • break语句:退出整个循环,如果嵌套了循环,则退出break所在的那层循环。
    • continue语句:跳过当前循环的剩余语句,然后继续进行下一轮循环。
    • pass语句:不做任何事情,一般用做占位语句。

    for迭代字典
    for迭代字典时,可以分为不同的几种方式:

    • 通过keys()迭代字典的key
    dict1 = {'name': 'Tom', 'age': 11, 'sex': 'man'}
    
    for i in dict1.keys():
        print(i)
    
    # 输出:
    name
    age
    sex
    
    • 通过values()迭代字典的value
    for i in dict1.values():
        print(i)
    
    # 输出:
    Tom
    11
    man
    
    • 通过items()同时迭代key和value
    for k, v in dict1.items():
        print(k, v)
    
    # 输出:
    name Tom
    age 11
    sex man
    

    range() 函数的介绍

    python range() 函数可创建一个整数列表,一般用在 for 循环中

    语法:range(start, stop[, step])
    
    • start:计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
    • stop:计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
    • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

    while循环

    while循环和for循环都能循环做一件重复的事情。不同的地方在于for循环是在序列穷尽时停止,而while循环是在条件不成立时停止。
    while循环的执行语句可以是单个语句或语句块,判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。当判断条件假false时,循环结束。

    • 真值表


    我们通过一个实例来看一下while循环的使用:

    a = 3
    while a >= 1:
        print(a)
        a -= 1
    
    # 输出:
    3
    2
    1
    

    循环条件为a>=1,所以当这个条件成立时就会继续循环,打印a。当a<1时就会停止循环。
    当然,如果我们想要中途终止循环也可以使用breakcontinue语句。

    while循环使用else
    while循环和for循环一样,也可以使用else语句,我们一起来看一下:

    a = 3
    while a >= 1:
        print(a)
        a -= 1
    else:
        print('循环结束 !')
    
    # 输出:
    3
    2
    1
    循环结束 !
    

    无限循环
    如果你想要循环永远执行,可以让条件让真一直成立,比如说:

    a = 1
    while a == 1:
        print(a)
    else:
        print('循环结束 !')
    
    # 会一直循环打印1
    

    break跳出循环

    a = 0
    while a < 10:
        print(a)
        a = a + 1
        if a == 3:
            print("break跳出循环")
            break
    else:
        print('循环结束 !')
    
    # 输出:
    0
    1
    2
    break跳出循环
    

    continue进去下一轮循环

    for i in range(1, 11):
        if i % 2:
           continue   
        print(i)
    
    # 输出
    2
    4
    6
    8
    10
    

    上面代码中使用了continue语句,if 条件语句的意思是如果i%2为真(不等于0)就进入下一轮循环。如果i%2为假(等于0)时会执行print(i)语句,打印i 。

    相关文章

      网友评论

        本文标题:python的循环

        本文链接:https://www.haomeiwen.com/subject/kjzlfctx.html