Python3学习笔记2:简单模拟登录,多次失败锁定账户

模拟登录,要求如下:
  输入用户名密码,正确验证,失败三次锁定。
先上代码:

print("                 登录界面         "
      "\n         请输入正确的用户名和密码       ")
#定义一个字典,存储登录失败的信息
name_map = {}#定义一个字典,存储所有的用户名和密码
_name_map = {"james": "123456", "AD": "123123"}
while True:
    name = input("用户名:")
    if name_map.__contains__(name) and name_map[name] == 3:
        print("Account login failed three times , Account {username} is locked..".format(username=name))
    else:     #判定是否已经有登录失败信息,如果没有,则添加一个0失败记录
        if not (name_map.__contains__(name)):
            name_map[name] = 0
        psw = input("密 码:")
        #验证口令是否正确
        if _name_map.__contains__(name) and _name_map[name] == psw:
            print("Welcome user {username} login...".format(username=name))
            #错误次数清零
            name_map[name] = 0
            break;
        else:
            #错误次数+1
            name_map[name] += 1
            print("Invalid username or password! Plase try again!")

Python初学者,对于编程,本人也绝非高手,只能慢慢尝试慢慢成长,虽然代码很low,但是好歹简单完成了所需功能。

注意的是:

上例中使用了类似于Java中map的集合体,在Python中被称为字典的一个工具:

字典是一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

dict1 = { 'abc': 456 }
dict2 = { 'abc': 123, 98.6: 37 }

由于需要缓存所有登录失败的用户的失败次数,要么把数据存储在文件系统中,要么就存储在内存中,目前刚开始学习Python,先不考虑文件存储功能的编写,所以就是用字典把正确的用户名和密码以及登录失败的尝试信息记录下来。
下一个练习,加强一下:
多级菜单,可进入子菜单和退回上层菜单。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值