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

    PY流程控制之while循环

    循环就是一个重复的过程,我们人需要重复干一个活,那么计算机也需要重复干一个活。ATM验证失败,那么计算机会让我们再一次输入密码。这个时候就得说出我们的wile循环,while循环又称为条件循环。

    语法

    # 条件循环
    while 条件
    	代码块
    # 永真循环
    while True:
        代码块
    

    永真循环会一直将代码块循环,所以引入while + break的组合

    while + break

    break的意思是终止掉当前层的循环,执行其他代码。

    while True:
        代码块1
        break  # 跳出while循环
    代码块2 # break后代码块2正常运行
    

    下面用登陆系统对while + break 实例运用

    while True:
        user = 'wzh'
        pwd = '123'
    
        inp_user = input('username: ')
        inp_pwd = input('password: ')
        if inp_user == user and pwd == inp_pwd:
            print('login successful')
            break
        else:
            print('username or password error')
    print('while循环结束')
    

    while + continue

    continue的意思是终止本次循环,直接进入下一次循环

    # 打印1-10中除了8的其他数
    n = 1
    while n <= 10:
        if n == 8: # 当n=8时,跳出本次循环,即不打印8
            continue
        print(n)
        n += 1
    

    continue不能加在循环体的最后一步执行的代码,因为代码加上去毫无意义

    while循环的嵌套

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

    while True:
        user = 'wzh'
        pwd = '123'
        inp_user = input('username: ')
        inp_pwd = input('password: ')
    
        if inp_user == user and pwd == 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 + else

    else会在while没有被break时才会执行else中的代码。

    # while+else
    n = 1
    while n < 3:
        print(n)
        n += 1
    else:
        print('else会在while没有被break时才会执行else中的代码')
    
  • 相关阅读:
    FZU 2104 Floor problem (水题)
    POJ 1797 Heavy Transportation (最短路变形)
    ZOJ 3708 Density of Power Network (水题)
    POJ 2488 A Knight's Journey (DFS)
    HDU 1198 Farm Irrigation (并查集)
    HDU 1052 Tian Ji -- The Horse Racing (贪心)
    HDU 1598 find the most comfortable road (并查集||最短路)
    poj 2533 Longest Ordered Subsequence(最长上升子序列)
    hdu 2025 查找最大元素 (水)
    hdu 5142 NPY and FFT(水)
  • 原文地址:https://www.cnblogs.com/dadazunzhe/p/11284712.html
Copyright © 2011-2022 走看看