流程控制之while循环

流程控制之while循环

一.语法

​ 循环就是一个重复的过程,我们人需要重复干一件事,那么计算机亚需要重复干一件事。ATM验证失败,那么计算机就会让我们再一次输入密码。这时候就要说我们的while循环,while循环有称作天剑循环。

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

while True:
    print('*1'*100)
    print('*2'*100
#代码:
while True:
    name = 'lwx'
    pwd = '520'

    inp_name = input('username:')
    inp_pwd = input('password:')
    if inp_name == name and inp_pwd ==pwd:
        print('login successful!')
    else:
        print('username or password error!')
    #结果:
username:lwx
password:520
login successful!
username:

​ 上述代码虽然实现了功能,但是用户面输对了,它也会继续输入

二.while+break

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

#代码:
while True:
    print('1')
    print('2')
    break
    print('3')
#结果:
1
2

​ 上述代码的break毫无意义,循环的目的是为了让计算机和人一样工作,循环处理事情,而它直接打印1和2之后就退出循环了。而我们展示下有意义的while+break代码的组合

#代码:
while True:
    name = 'lwx'
    pwd = '520'

    inp_name =input("username:")
    inp_pwd = input("password:")
    if inp_name ==name and inp_pwd == pwd:
        print('login successful!')
        break
    else:
        print('username orpassword error!')
print('退出了while循环')
#结果:
username:lwx
password:520
login successful!
退出了while循环

三.while+continue

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

#代码:
n = 1
while n<4:
    print(n)
    n+=1
#结果:
1
2
3
#代码:
n = 1
while n<10:
    if n==8:
        continue
    print(n)
    n+=1
#结果:
1
2
3
4
5
6
7

continue不可以加在循环的最后一步执行,这样加上去是毫无意义的,如下所示的continue所在的位置就是毫无意义的,注意:==是随后一步执行的代码,而是不是最后一行==

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

    continue

四.while循环的嵌套

#代码:
#退出内层循环的while循环嵌套
while True:
    name = 'lwx'
    pwd = '520'

    inp_name = input("username:")
    inp_pwd = input("password:")

    if inp_name == name and inp_pwd == pwd:
        print('login successful!')

        while True:
            cmd = input("请你输入需要的命令:")
            if cmd =='q':
                break
            print(f'{cmd} 功能执行')
        else:
            print('username or password error!')

print("退出了while循环R")
#结果:
username:lwx
password:520
login successful!
请你输入需要的命令:q
username:
#代码:
#退出双层循环的while循环嵌套
while True:
    name = 'lwx'
    pwd = '520'

    inp_name = input("username:")
    inp_pwd = input("password:")

    if inp_name == name and inp_pwd == pwd:
        print('login successful!')

        while True:
            cmd = input("请你输入需要的命令:")
            if cmd =='q':
                break
            print(f'{cmd} 功能执行')
        break
    else:
            print('username or password error!')

print("退出了while循环R")
#结果:
username:lwx
password:520
login successful!
请你输入需要的命令:q
退出了while循环

五.tag控制循环退出

#代码:
#tag控制循环退出
tag = True
while tag:
    name = 'lwx'
    pwd = '520'

    inp_name = input("username:")
    inp_pwd = input("password:")

    if inp_name == name and inp_pwd ==pwd:
        print("login successful!")

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

print("退出了while循环")
#结果:
username:lwx
password:520
login successful!
请输入你需要的命令:q
q 功能执行
username or password error
退出了while循环

六.while+else

#代码:
#while+else
n = 1
while n<3:
    print(n)
    n+=1
else:
    print('else会在while没有被break时执行else的代码')
#结果:
1
2
else会在while没有被break时执行else的代码

转载于:https://www.cnblogs.com/LWX-YEER/p/11246987.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值