Python-while 循环

本文详细介绍了Python中while循环结合if、break、continue和else的使用,包括基本的条件判断、密码验证场景以及如何控制循环流程。通过实例展示了如何在登录验证和用户操作中灵活运用这些控制结构。
摘要由CSDN通过智能技术生成

一、while 条件变为False

username = '123'
password = '123456'

condition = True
while condition:
    input_username = input('请输入账户名字:')
    input_password = input('请输入密码:')
    if input_username == username and input_password == password:
        print('成功登录')
        condition = False
    else:
        print('账号或密码错误,滚蛋')

    print('我退出循环啦')
1、if 条件失败  

请输入username:123
请输入password:123
账号或密码错误,滚蛋
我退出循环啦
请输入username:

2、if 条件成功  

 运行结果:

请输入账户名字:123
请输入密码:123456
成功登录
我退出循环啦

 二、while + break;break后面的本层循环代码不再执行

username = '123'
password = '123456'

condition = True
while condition:
    input_username = input('请输入账户名字:')
    input_password = input('请输入密码:')
    if input_username == username and input_password == password:
        print('成功登录')
        break
    else:
        print('账号或密码错误,滚蛋')

    print('我退出循环啦')
1、if 条件失败  

运行结果:

请输入账户名字:123
请输入密码:123
账号或密码错误,滚蛋
我退出循环啦
请输入账户名字:

2、if 条件成功

 运行结果:

请输入账户名字:123
请输入密码:123456
成功登录

三、while + continue;continue,终止本次循环,从头再来

#打印0-9,不打印7
num = 0
while num < 10:
    if num == 7:
        num=num +1 # 防止陷入死循环
        continue
    print(num)
    num = num + 1

 运行结果:

0
1
2
3
4
5
6
8
9

 四、while+else;while循环正常结束后,再执行else

'''
while True:
 ……
else

'''

 新需求:当用户密码输错三次后,不再让用户输入

1、普通写法
username = '123'
password = '123456'
num = 0  # 保存输错账号或密码的次数
condition = True

while condition:
    input_username = input('请输入账户名字:')
    input_password = input('请输入密码:')
    if input_username == username and input_password == password:
        print('成功登录')
        while True:
            action = input('请输入你的操作:')
            if action == 'quit':
                break
            print(f'正在{action}')
        break
    else:
        print('账号或密码错误,滚蛋')
        num = num + 1
        if num >= 3:
            print('麻溜滚蛋,你已经输错三次啦,say bye')
            break  # 超过三次,停止输入

    print('我退出循环啦')

运行结果:
请输入账户名字:123
请输入密码:123
账号或密码错误,滚蛋
我退出循环啦
请输入账户名字:123
请输入密码:123
账号或密码错误,滚蛋
我退出循环啦
请输入账户名字:123123
请输入密码:123456
账号或密码错误,滚蛋
麻溜滚蛋,你已经输错三次啦,say bye

运行结果:

请输入账户名字:123
请输入密码:123456
成功登录
请输入你的操作:q
正在q
请输入你的操作:quit

2、while + else:

username = '123'
password = '123456'
num = 0  # 保存输错账号或密码的次数

while num <3:
    input_username = input('请输入账户名字:')
    input_password = input('请输入密码:')
    if input_username == username and input_password == password:
        print('成功登录')
        while True:
            action = input('请输入你的操作:')
            if action == 'Q': # 输入Q退出
                break
            print(f'正在{action}')
        break
    else:
        print('账号或密码错误,滚蛋')
        num = num + 1
else:
    print('已退出while循环,账号密码输错3次,麻溜滚蛋')

运行结果:

 请输入账户名字:23
请输入密码:123
账号或密码错误,滚蛋
请输入账户名字:123
请输入密码:123
账号或密码错误,滚蛋
请输入账户名字:123
请输入密码:123
账号或密码错误,滚蛋
已退出while循环,账号密码输错3次,麻溜滚蛋

运行结果:

请输入账户名字:123
请输入密码:123456
成功登录
请输入你的操作:Q

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值