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,先不考虑文件存储功能的编写,所以就是用字典把正确的用户名和密码以及登录失败的尝试信息记录下来。

posted @ 2021-04-19 22:19  小时候的风和阳光  阅读(144)  评论(0编辑  收藏  举报