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

    流程控制之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......
    
  • 相关阅读:
    MFC project for a non-Unicode character set is deprecated
    关于Visual Studio 2013 编译 multi-byte character set MFC程序出现 MSB8031 错误的解决办法
    字符串比较自实现
    各种语言里获取当前模块的方法:ABAP,ABSL,C,nodejs
    SAP CRM product attachment的document template功能
    ABAP, UI5和webpack的处理入口
    ABAP, Maven, CF App和Webpack的build
    json格式的字符串序列化和反序列化的一些高级用法
    SAP ABAP Netweaver容器化, 不可能完成的任务吗?
    UI Component in CRM WebUI and Hybris
  • 原文地址:https://www.cnblogs.com/Dr-wei/p/11845850.html
Copyright © 2011-2022 走看看