Python---练习:使用for循环实现用户名+密码认证

案例:

用for循环实现用户登录

① 输入用户名和密码

② 判断用户名和密码是否正确(username='laowang',password='lw123')

③ 登录仅有三次机会,超过3次会报错

思考:

用户登陆情况有3种:

① 用户名错误(此时便无需判断密码是否正确) -- 登陆失败

② 用户名正确 密码错误 --登陆失败

③ 用户名正确 密码正确 --登陆成功

现实中,也就是会有这三种情况出现,案例也都是来源于现实的。延伸生活另外 一种,比如快递小哥送快递,找楼栋和门牌号,不超时送达。楼栋找错,就不用再找门牌号了----送达失败。

楼栋找对,门牌号找错---送达失败。楼栋找对,门牌号找对---送达成功。超过3次送达失败,提示超时啦。

这就和之前猜数字的联系雷同,相关链接Python---练习:while循环案例:猜数字-CSDN博客

Python---练习:使用for循环实现用户名+密码认证_第1张图片

结合上述思考以及之前猜数字相关代码 ,可以写出下列代码:


# 定义变量,用于记录登录次数
trycount = 0
# 循环3次,因为超过3次就会报错
for i in range(3):
    # 更新登录次数
    trycount += 1
    # 提示用户输入账号与密码
    username = input('请输入您的登录账号:')
    password = input('请输入您的登录密码:')

    # 判断用户名是否正确
    if username == 'laowang':
        # 判断密码是否正确
        if password == 'lw123':
            print('恭喜你,登录成功')
            break
        else:
            print('密码错误')
            print(f'您还有{3 - trycount}次输入机会')
    else:
        print('用户名错误')
        print(f'您还有{3 - trycount}次输入机会')

图示:

Python---练习:使用for循环实现用户名+密码认证_第2张图片

   

思考:

for循环自带变更计数器,能不能利用i 的值,去代替  trycount?

i  三次值: 0    1    2    

图示:

Python---练习:使用for循环实现用户名+密码认证_第3张图片

之前也说过,掌握的方法多,就可以用各种方法实现目的,比如,去上学,可以走路,可以骑单车,电动车,公交车,轿车,地铁,火车,高铁,飞机等等,都可以实现目的,唯一区别就是哪个更有意义。

上面之所以新定义一个变量 trycount,是为了好区分,不至于搞混。

你可能感兴趣的:(python,开发语言,pycharm)