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

    控制流程之for循环

    一、语法

    为什么有了while循环,还需要有for循环呢?因为字典也有取多个值的需求,字典可能有while循环无法使用了,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

    也可用for循环(for循环也就是把列表中的元素循环一遍,然后赋值给i,所以有多少个元素就循环多少次)

    name_list = ['nick', 'jason', 'tank', 'sean']
    for i in name_list:
        print(i)
    

    nick
    jason
    tank
    sean

    也可用fo

    用 for循环字典(注意取出的是 key)

    info = {'name': 'nick', 'age': 19}
    
    for item in info:
        # 取出info的keys
        print(item)
    

    此处提到一个函数语法

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

    range(开始,停止,步长) #顾头不顾尾

    列如:

    >>>range(10)        # 从 0 开始到 10
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> range(1, 11)     # 从 1 开始到 11
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    >>> range(0, 30, 5)  # 步长为 5
    [0, 5, 10, 15, 20, 25]
    >>> range(0, 10, 3)  # 步长为 3
    [0, 3, 6, 9]
    >>> range(0, -10, -1) # 负数
    [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
    >>> range(0)
    []
    >>> range(1, 0)
    []
    
    for i in range(0, 10):
        print(i)
    

    1
    2
    3
    4
    5
    6
    7
    8
    9

    for循环按照索引号取值

    以下是 range 在 for 中的使用,循环出runoob 的每个字母:

    x = 'runoob'
    	for i in range(len(x)) :
            print(x[i])
    

    u
    n
    o
    o
    b

    二、for + break

    for循环跳出本次循环,进入下一个循环

    name_list = ['nick', 'jason', 'tank', 'sean']
    for name in name_list:
        if name == 'jason':
            continue
        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 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)  #sleep 为一个函数,为时间延迟0.2秒
    

    Loading......

  • 相关阅读:
    java继承
    c#中委托和事件区别
    c#委托中的匿名方法和lambda表达式
    c#中内置委托
    iOS消息推送获取不到deviceToken解决方案
    python+appium+iOS自动化测试case如何写?
    Xcode查看iOS崩溃与崩溃日志分析
    iOS性能检测工具instrunments简单介绍
    python实现使用代码进行代理配置
    python+locust性能测试-最简单的登录点击次数
  • 原文地址:https://www.cnblogs.com/wwbplus/p/11291429.html
Copyright © 2011-2022 走看看