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循环。

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

      nick jason tank sean

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

    # 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+break
    name_list = ['nick', 'jason', 'tank', 'sean']
    for name in name_list:
        if name == 'jason':
            break
        print(name)
    

      nick

    三、for+ continue

    # 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}')
    

      

    五、for+else

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

      

    六、for循环加loading.......

    只能在jupyter完成此代码

    import time
    
    print('Loading', end='')
    for i in range(6):
        print(".", end='')
        time.sleep(0.2)
    

      总结:

    while
    在某些情况下,while还是经常被用到,比如上面的登录大多都用while,但是它的缺点也很明显
    1、会进入死循环,不可控,尽量少用
    2、世间万物都可以作为循环的对象
    for
    for在某些情况(比如列表和字典)会比while简单得多,并且不会进入死循环,但也不是万能的
    1、不会进入死循环,可控,尽量使用
    2、只对容器类数据类型循环(可迭代对象)

  • 相关阅读:
    编写登陆认证程序
    Ubuntu18.04安装MySQL
    python输出的高亮显示
    河北省赛
    dp
    迷宫问题
    牛客-幸运数字Ⅱ
    [管理运筹学]线性规划&单纯形法的各种姿势(题目:[NOI2008]志愿者招募)
    [管理运筹学]指派问题的匈牙利算法及其c++实现 (例:「网络流 24 题」分配问题 )
    打算在CSDN写了,虽然博客园也很好
  • 原文地址:https://www.cnblogs.com/whnbky/p/11282838.html
Copyright © 2011-2022 走看看