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

    流程控制之while循环

    这里很多人有都会有个疑问,什么是循环?

    循环就是一个重复的过程,就像工厂里面的流水线的工人,重复做个同一件事,那么就这事循环。而计算机的循环就是重复干一个活,可以举一个实例,就像我们QQ登录帐号或密码输入错误,你可以再一次输入,这就是一个循环!

    语法

    '''
    while(当) <条件>:
        <需要进行重复的代码块>  # 当条件成立时会进行运行,结束完代码块后会再一次判断条件,成立再运行,运行完再判断条件,%
    '''
    
    #运用while循环做一个猜年龄游戏
    age = 16
    while True:
        inp_age = input('age:')
        inp_age = int(inp_age)
        
        if inp_age > age:
            print('猜大了')
        elif inp_age < age:
            print("猜小了")
        else:
            print("猜对了")
    #这是一个死循环,因为无论你输入什么都无法退出。除非你触发bug
    

    while + break

    这里会有人有疑问,break是什么? 从break本意来看,就是打破,所以不难理解break有什么用!

    语法

    '''
    while(当) <条件>:
        <需要进行重复的代码块>  # 当条件成立时会进行运行,结束完代码块后会再一次判断条件,成立再运行,运行完再判断条件,%
        break  # 遇到break后终止while循环
    '''
    age = 16
    
    
    #这里来对猜年龄游戏做一个修改,当猜对了就退出
    while True:
        print(1)  # 1
        inp_age = input('age:')  # '16'
        inp_age = int(inp_age)  # 16
    
        if inp_age > age:  #
            print('猜大了')
        elif inp_age < age:  #
            print('猜小了')
        else:
            print('猜对了')
            break  # 不运行下面的代码,并且跳出循环
    
    print('hello')
    #当触发break之后会执行循环外的代码,可以说while是一行代码,之后的是其他代码。
    

    while + continue

    这里会有人有疑问,continue是什么? 从break本意来看,就是继续,所以不难理解continue有什么用!

    语法

    '''
    while(当) <条件>:
        <需要进行重复的代码块>  # 当条件成立时会进行运行,结束完代码块后会再一次判断条件,成立再运行,运行完再判断条件,%
        continue  # 遇到continue后直接开始下一次while循环
    '''
    
    #这里让我们来输出1-10 并且跳过5,这里可能会有人想跳过5,怎么跳呢?当你学会使用continue,你就会发现十分简单
    
    count = 0
    while True:
        count += 1
        if count == 5:  #
            continue # 继续,跳出本次循环,不运行下面的代码,直接开始下一次循环
        if count == 11:
            break
        print(count)
    
    

    while + else

    count = 0
    
    while count < 10:
        count += 1
    
        if count == 1111111111111:
            break  # break除了干掉while循环,还会干掉else
    
        print(count)
    else:
        print("当while循环没有被break的时候我会触发,但尽量不要使用我")
    

    while循环的嵌套

    就是之前的 if 一样,while循环也有他的嵌套。

    ATM密码输入成功还需要进行一系列的命令操作,比如取款,比如转账。并且在执行功能结束后会退出命令操作的功能,即在功能出执行输入q会退出输出功能的while循环并且退出ATM程序。

    # 退出内层循环的while循环嵌套
    while True:
        user_db = 'nick'
        pwd_db = '123'
    
        inp_user = input('username: ')
        inp_pwd = input('password: ')
    
        if inp_user == user_db and pwd_db == inp_pwd:
            print('login successful')
    
            while True:
                cmd = input('请输入你需要的命令:')
                if cmd == 'q':
                    break
                print(f'{cmd} 功能执行')
        else:
            print('username or password error')
    
    print('退出了while循环')
    # 退出双层循环的while循环嵌套
    while True:
        user_db = 'nick'
        pwd_db = '123'
    
        inp_user = input('username: ')
        inp_pwd = input('password: ')
    
        if inp_user == user_db and pwd_db == inp_pwd:
            print('login successful')
    
            while True:
                cmd = input('请输入你需要的命令:')
                if cmd == 'q':
                    break
                print(f'{cmd} 功能执行')
            break
        else:
            print('username or password error')
    
    print('退出了while循环')
    username: nick
    password: 123
    login successful
    请输入你需要的命令:q
    退出了while循环
    

    流程控制之for循环

    循环:重复干一件事,for循环可以是所以容器数据类型

    语法

    '''
    while:
        1. 会进入死循环(不可控),尽量少使用while循环
        2. 世间万物都可以作为循环的对象
    for:
        1. 不会进入死循环(可控),以后尽量使用for循环
        2. 只对容器类数据类型+字符串循环(可迭代对象)
    '''
    
    lis = ['gebilaowang', 'dapao', 'yongjiushuaige','dsb']
    for i in lis:  # i='gebilaowang'  # i='dapao'
        print(i)  # i='gebilaowang'  # i='dapao'
        print(1)
    for i in 'nick':
        print(i)
        
    # 这里补充一个内置函数range,不做过多的说明
    print(list(range(3)))  # 0,1,2
    print(list(range(10)))  # 0,1,2..9
    print(list(range(2,5)))  # 2,3,4  # 顾头不顾尾
    print(list(range(3,6)))  # 3,4,5  # 顾头不顾尾
    print(list(range(3,7,3)))  # 3,6  # 顾头不顾尾
    print(list(range(1,10,2)))  # 1,3,5,7,9  # 顾头不顾尾
    
    

    for + break

    前面while已经介绍过break,for的break也是一样的

    for i in range(1,11): # 1,2,3,4,5
        print(i)
        if i == 5:
            break  #跳出循环
    

    for + continue

    前面while已经介绍过continue 也就不做过多的说明了

    for i in range(1,11): # 1,2,3,4,6,7,8,9,10
        if i == 5:
            continue  #跳出本次循环
    
        print(i)
    

    for + else

    前面while已经介绍过else,也就不做过多的说明了

    for i in range(1,11): # 1,2,3,4,6,7,8,9,10
        if i == 5:
            break  #跳出本次循环
    
        print(i)
    else:  # 没有被break会触发
        print('hello,你居然运行到了else')
    

    补充

    这里在补充一个for循环实现loading......

    #这里用了一个内置函数time,来控制执行的间隔时间
    import time
    
    print('Loading',end='')
    
    for i in range(6):
        print('.',end='')  # ...
        time.sleep(0.5)
    
  • 相关阅读:
    搭建mongoDB 配置副本集 replSet
    关于erlang解析json数据
    互联网精准广告定向技术
    cmd 查看端口占用情况
    nutzboot dubbo zookeeper简单使用
    一些常用名词
    小程序video置顶
    html 5 video audio
    android webview 视频相关
    微信小程序
  • 原文地址:https://www.cnblogs.com/TMesh/p/11284714.html
Copyright © 2011-2022 走看看