import time
import json
# 二:嵌套取值操作
students_info=[['egon',18,['play',]],['alex',18,['play','sleep']]]
# 请取出第一个学生的第一个爱好
print('第一个学生的爱好:%s' % students_info[0][2][0])
# 2、针对字典
info={
'name':'egon',
'hobbies':['play','sleep'],
'company_info':{
'name':'Oldboy',
'type':'education',
'emp_num':40,
}
}
# 请取出取公司名
print('公司名字:%s' % info['company_info']['name'])
# 3、针对下述类型
students=[
{'name':'alex','age':38,'hobbies':['play','sleep']},
{'name':'egon','age':18,'hobbies':['read','sleep']},
{'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']},
]
# 取第二个学生的第二个爱好
students_hobbies = students[1]['hobbies'][1]
print('第二个学生的第二个爱好: %s' % students_hobbies)
# 选做题:编写用户登录接口
# 1、输入账号密码完成验证,验证通过后输出"登录成功"
# 2、可以登录不同的用户
# 3、同一账号输错三次锁定(附加功能,在程序一直运行的情况下,一旦锁定,则锁定5分钟后自动解锁)
# 扩展需求:在3的基础上,完成用户一旦锁定,无论程序是否关闭,都锁定5分钟
"""先创建这个文件再测试代码"""
# account = {'张三': ['666', 1], '李四': ['666', 1]}
# with open('ad_user', 'w') as f:
# json.dump(account, f)
try:
with open('db_user', 'r') as f:
account = json.load(f)
except FileNotFoundError:
print('没有这个文件先创建这个文件吧') # 格式 account = {'张三': ['666', 1], '李四': ['666', 1]}
def file_func(name, module, data, ):
if module == 'w':
with open(name, module) as fa:
json.dump(data, fa)
def login():
user = input('输入登陆账号:').strip()
pwd = input('输入登陆密码:').strip()
return {'user': user, 'pwd': pwd}
def check(user_dic):
if user_dic['user'] in account:
if account[user_dic['user']][1] != 3:
if user_dic['pwd'] == account[user_dic['user']][0]:
print('登陆成功')
else:
print('密码错误')
account[user_dic['user']][1] += 1
file_func('db_user', 'w', account)
else:
print('此账号:%s 密码输错3次 已经被锁定 请等待5分钟后再试' % user_dic['user'])
time.sleep(300)
account[user_dic['user'][1]] = 1
file_func('ad_user', 'w', account)
else:
print('%s账号不存在' % user_dic['user'])
def main():
user_dic = login()
check(user_dic)
if __name__ == '__main__':
while True:
main()