zoukankan      html  css  js  c++  java
  • 流程控制之for循环

    一、语法

    为什么有了while循环,还需要有for循环呢?不都是循环吗?我给大家出个问题,我给出一个列表,我们把这个列表里面的所有名字取出来。

    name_list = ['nick', 'jason', 'tank', 'sean']
    
    n = 0
    while n < 4:
        # while n < len(name_list):
        print(name_list[n])
        n += 1
    
    nick
    jason
    tank
    sean
    

    字典也有取多个值的需求,字典可能有while循环无法使用了,这个时候可以使用我们的for循环。

    info = {'name': 'nick', 'age': 19}
    
    for item in info:
        # 取出info的keys
        print(item)
    
    name
    age
    
    name_list = ['nick', 'jason', 'tank', 'sean']
    for item in name_list:
        print(item)
    
    nick
    jason
    tank
    sean
    

    for循环的循环次数受限于容器类型的长度,而while循环的循环次数需要自己控制。for循环也可以按照索引取值。

    print(list(range(1, 10)))
    
    [1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    for i in range(1, 10):  # range顾头不顾尾
        print(i)
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    # for循环按照索引取值
    name_list = ['nick', 'jason', 'tank', 'sean']
    # for i in range(5):  # 5是数的
    for i in range(len(name_list)):
        print(i, name_list[i])
    
    0 nick
    1 jason
    2 tank
    3 sean
    

    二、for + break

    for循环调出本层循环。

    # for+break
    name_list = ['nick', 'jason', 'tank', 'sean']
    for name in name_list:
        if name == 'jason':
            break
        print(name)
    
    nick
    

    三、for + continue

    for循环调出本次循环,进入下一次循环

    # for+continue
    name_list = ['nick', 'jason', 'tank', 'sean']
    for name in name_list:
        if name == 'jason':
            continue
        print(name)
    
    nick
    tank
    sean
    

    四、for循环嵌套

    外层循环循环一次,内层循环循环所有的。

    # for循环嵌套
    for i in range(3):
        print(f'-----:{i}')
        for j in range(2):
            print(f'*****:{j}')
    
    -----:0
    *****:0
    *****:1
    -----:1
    *****:0
    *****:1
    -----:2
    *****:0
    *****:1
    

    五、for+else

    for循环没有break的时候触发else内部代码块。

    # for+else
    name_list = ['nick', 'jason', 'tank', 'sean']
    for name in name_list:
        print(name)
    else:
        print('for循环没有被break中断掉')
    
    nick
    jason
    tank
    sean
    for循环没有break中断掉
    

    六、for循环实现loading

    import time
    
    print('Loading', end='')
    for i in range(6):
        print(".", end='')
        time.sleep(0.2)
    
    Loading......
  • 相关阅读:
    使用阿里云服务器的总结二-----目录权限
    使用阿里云服务器的总结一----修改配置
    thinkphp框架开启页面gzip压缩
    内容页分页代码
    js禁止中文输入 最简洁的【禁止输入中文】
    JS中setTimeout()的用法详解
    面向对象的5条基本设计原则
    C#_面试题1
    问题 E: C语言11.8
    问题 D: C语言11.7
  • 原文地址:https://www.cnblogs.com/nickchen121/p/10737348.html
Copyright © 2011-2022 走看看