流程控制之while循环

Posted nickchen121

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了流程控制之while循环相关的知识,希望对你有一定的参考价值。

语法(掌握)

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

while 条件
    code 1
    code 2
    code 3
    ...

while True:
    print('*1'*100)
    print('*2'*100)

实现ATM的输入密码重新输入的功能

while True:
    user_db = 'nick'
    pwd_db = '123'

    inp_user = input('username: ')
    inp_pwd = input('password: ')
    if inp_user == user_db and user_pwd == inp_pwd:
        print('login successful')
    else:
        print('username or password error')

上述代码虽然实现了功能,但是用户密码输对了,他也会继续输入。

while+break

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

while True:
    print('1')
    print('2')
    break
    print('3')

这样做毫无意义,循环的目的是为了让计算机和人一样工作,循环处理事情。

while True:
    user_db = 'nick'
    pwd_db = '123'

    inp_user = input('username: ')
    inp_pwd = input('password: ')
    if inp_user == user_db and user_pwd == inp_pwd:
        print('login successful')
        break
    else:
        print('username or password error')

print('退出了while循环')

while+continue

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

n = 1
while n < 4:
    print(n)
    n += 1
n = 1
while n < 10:
    if n == 8:
        # n += 1
        continue
    print(n)
    n += 1

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

while True:
    if 条件1:
        code1
        code2
        code3
        ...
    else:
        code1
        code2
        code3
        ...

    continue

while循环的嵌套(掌握)

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

while True:
    user_db = 'nick'
    pwd_db = '123'

    inp_user = input('username: ')
    inp_pwd = input('password: ')
    
    if inp_user == user_db and user_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循环')

在功能出执行输入q会退出输出功能的while循环并且退出ATM程序

while True:
    user_db = 'nick'
    pwd_db = '123'

    inp_user = input('username: ')
    inp_pwd = input('password: ')
    
    if inp_user == user_db and user_pwd == 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循环')

tag控制循环退出

tag = True
while tag:
    user_db = 'nick'
    pwd_db = '123'

    inp_user = input('username: ')
    inp_pwd = input('password: ')
    
    if inp_user == user_db and user_pwd == inp_pwd:
        print('login successful')
        
        while tag:
            cmd = input('请输入你需要的命令:')
            if cmd == 'q':
            tag = False
            print(f'{cmd} 功能执行')
    else:
        print('username or password error')

print('退出了while循环')

while+else(了解)

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

n = 1
while n < 5:
    if n == 3:
        break
    print(n)
    n += 1
else:
    print('else会在while没有被break时才会执行else中的代码')

以上是关于流程控制之while循环的主要内容,如果未能解决你的问题,请参考以下文章

流程控制之判断,while循环,for循环

流程控制之while循环

Python学习————流程控制之while循环

流程控制之if判断+while循环+for循环

PHP流程控制之do...while循环的区别

『Python基础』第6节:流程控制之while循环