• for 循环


    for循环

    for循环与while循环的区别

    1. for循环是可控的,while循环一不小心就会造成死循环
    2. for循环不需要条件,while循环需要条件
    # 打印一个列表
    
    hobby_list = ('raeding','wirth','cooking','fishing',1,3,5,7,9) 
    
    count = 0
    
    while count < len(hobby_list):     # 使用的是while循环实现
        print(hobby_list[count])
        count += 1
    
    raeding
    wirth
    cooking
    fishing
    1
    3
    5
    7
    9
    
    hobby_list = ('raeding','wirth','cooking','fishing',1,3,5,7,9) 
    
    for i in hobby_list:      # 使用for循环实现
        print(i)
    
    raeding
    wirth
    cooking
    fishing
    1
    3
    5
    7
    9
    

    相较于上面两个代码,我们可以发现while循环实现列表打印比较繁琐,而for循环只需要两行就解决了

    for i in range(6):  # 相当于for i in range(0,6)
        print(i)
    
    0
    1
    2
    3
    4
    5
    

    补充:range()函数顾头不顾尾,意思就是list(range(1,4))相当于list = [1,2,3],没有4

    for+break

    跳出本层for循环

    基本语法

    '''
    for 条件:
        code1
        code2
        if 条件:
            break  
        
        code3
        ……
        
    '''
    
    for i in range(8):
        
        if i == 6:
            break    # 当i = 6 时,跳出for循环
        print(i)
    
    
    0
    1
    2
    3
    4
    5
    

    for+continue

    基本语法

    跳出本次循环,继续进行下面的循环

    '''
    for 条件:
        code1
        code2
        if 条件:
            continue  
        
        code3
        ……
        
    '''
    
    for i in range(5):
        
        if i == 3:
            print(' ')
            continue    # 当i = 3 时,不执行本次循环,然后继续后面的循环
        print(i)
    
    0
    1
    2
     
    4
    

    for……else

    定义:如果for循环没有被break掉,则执行else内部代码

    for num in 'abcdefghijklmno':
        if num == 'j':
            break
        print(num,end = ' ')
    else:
        print('for循环没有被break中断掉')
    
    a b c d e f g h i 
    

    for循环嵌套

    在while循环中有嵌套,同样的,for循环同样有嵌套

    # 九九乘法表
    
    for i in range(1,10):
        for j in range(1,i+1):
            print(f'{i}*{j}={i*j}',end = ' ')
        print('')
    
    1*1=1 
    2*1=2 2*2=4 
    3*1=3 3*2=6 3*3=9 
    4*1=4 4*2=8 4*3=12 4*4=16 
    5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 
    6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 
    7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 
    8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 
    9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 
    

    秀一波操作

    1. 使用for循环实现loading......

    import time
    
    print('loading',end='')
    
    for i in range(20):
        print('.',end='')
        time.sleep(0.8)
    
    loading....................
    

    2. 实现一个登录功能

    name = 'hades'
    pwd = 'zzp'
    
    function_list = {0: 'reading', 1: 'writing', 2: 'cooking',3:'fishing'}
    
    for count in range(3):
        username = input('>>>usrename: ')
        password = input('>>>password: ')
        re_password = input('>>>re_password: ')
    
        if username != name or password != pwd:
            print('用户名或密码错误')
        else:
            if password != re_password:
                print('两次密码不一致')
                
            else:
                print('登录成功')
                while True:
                    print(f'请选择功能:{function_list}')
                    choice = input('>>>choice:')
                    if choice == 'q':
                        count = 3
                        print('Logout')
                        break
                    choice = int(choice)
                    print(f'你已经选择功能:{function_list[choice]}')
    
    >>>usrename: hades
    >>>password: zzp
    >>>re_password: zzp
    登录成功
    请选择功能:{0: 'reading', 1: 'writing', 2: 'cooking', 3: 'fishing'}
    >>>choice:0
    你已经选择功能:reading
    请选择功能:{0: 'reading', 1: 'writing', 2: 'cooking', 3: 'fishing'}
    >>>choice:3
    你已经选择功能:fishing
    请选择功能:{0: 'reading', 1: 'writing', 2: 'cooking', 3: 'fishing'}
    >>>choice:q
    Logout
    

    练习题

    1. 打印1-100之间的偶数:

    for num in range(1,100):
        if (num % 2) == 0:
            print(num,end = ' ')
    
    2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 
    

    2. 猜年龄游戏升级版,有以下三点要求:

    1. 允许用户最多尝试3次
    2. 每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
    3. 如何猜对了,就直接退出 
    
    age = '35'
    
    print('------------俺们来玩一个猜年龄游戏--------------
    ')
    
    guess = 'Y'
    
    while guess == 'Y' or guess == 'y':
        count = 0
    
        while count < 3:
            guess = input('请输入你猜的年龄:')
    
            if guess == age:
                print('恭喜你猜对啦,真厉害!
    ')
                break
    
            elif guess < age:
                print('猜小了,不要气馁,再来一次~')
    
            else:
                print('猜大了,再接再厉,restare~')
    
            time = 2 - count
            
            if time > 0:
                print(f'你还有{time}次机会哦!')
    
            else:
                print('Game Over')
    
            count += 1
    
        guess = input('是否还想再来一次呢(是请按Y/否请按N):')
    
    print('----------------欢迎下次再来。------------------')
    
    ------------俺们来玩一个猜年龄游戏--------------
    
    请输入你猜的年龄:2
    猜小了,不要气馁,再来一次~
    你还有2次机会哦!
    请输入你猜的年龄:35
    恭喜你猜对啦,真厉害!
    
    是否还想再来一次呢(是请按Y/否请按N):y
    请输入你猜的年龄:34
    猜小了,不要气馁,再来一次~
    你还有2次机会哦!
    请输入你猜的年龄:47
    猜大了,再接再厉,restare~
    你还有1次机会哦!
    请输入你猜的年龄:3
    猜小了,不要气馁,再来一次~
    Game Over
    

    3. 打印如下所示金字塔:

    '''
                 # max_level=5
        *        # current_level=1,空格数=4,*号数=1
       ***       # current_level=2,空格数=3,*号数=3
      *****      # current_level=3,空格数=2,*号数=5
     *******     # current_level=4,空格数=1,*号数=7
    *********    # current_level=5,空格数=0,*号数=9
    
    # 数学表达式
    空格数 = max_level-current_level
    *号数 = 2*current_level-1
    '''
    
    max_level = 9
    for current_level in range(1,max_level + 1):
        space_num = max_level-current_level
        star_num = 2*current_level-1
        print(' '*space_num + '*'*star_num)
        
    
            *
           ***
          *****
         *******
        *********
       ***********
      *************
     ***************
    *****************
  • 相关阅读:
    使用vue-cookies操作cookie
    JavaScript如何友好的操作的cookie
    揭秘——TCP的三次握手和四次挥手
    python学习之【第八篇】:Python中的函数基础
    python学习之【第七篇】:Python中的集合及其所具有的方法
    python学习之【第六篇】:Python中的字典及其所具有的方法
    php判断是不是手机端访问
    php判断浏览器还是微信打开
    php无限极分类方法
    javascript/jquery获取url地址栏参数的方法
  • 原文地址:https://www.cnblogs.com/Hades123/p/10821591.html
Copyright © 2020-2023  润新知