3.14周末作业
二:周末综合作业:
2.1:编写用户登录接口
1、输入账号密码完成验证,验证通过后输出"登录成功"
name='egon'
pwd='123'
inp_name=input('your name:').strip()
inp_pwd=input('yoour pwd:').strip()
if inp_name == name and inp_pwd == pwd:
print('登录成功')
else:
print('用户名或密码错误')
2、可以登录不同的用户
users={
'egon':'123',
'alex':'777',
'oldboy':'nb'
}
inp_name=input('your name:').strip()
inp_pwd=input('your pwd:').strip()
if inp_name in users:
if inp_pwd == users[inp_name]:
print('登录成功')
else:
print('密码错误')
else:
print('用户名错误')
3、同一账号输错三次锁定,(提示:锁定的用户存入文件中,这样才能保证程序关闭后,该用户仍然被锁定)
dic={
'egon1':['mxc',0],
'egon2':['222',0],
'egon3':['333',0],
}
count=0
while True:
name=input('u>>: ')
if name not in dic:
print('用户不存在')
continue
with open('db.txt','r') as f:
lock_users=f.read().split('|')
if name in lock_users:
print('用户%s已经被锁定' %name)
break
if dic[name][1] > 2:
print('尝试次数过多,锁定')
with open('db.txt','a') as f:
f.write('%s|' %name)
break
password=input('p>>: ')
if password == dic[name][0]:
print('登录成功')
break
else:
print('用户名或密码错误')
dic[name][1]+=1
2.2:编写程序实现用户注册后,可以登录,
提示:
while True:
msg = """
0 退出
1 登录
2 注册
"""
print(msg)
cmd = input('请输入命令编号>>: ').strip()
if not cmd.isdigit():
print('必须输入命令编号的数字,傻叉')
continue
if cmd == '0':
break
elif cmd == '1':
count = 0
while count < 3:
inp_name=input('your name:').strip()
inp_pwd=input('your password:').strip()
with open(r'users.txt',mode='rt',encoding='utf-8') as f:
for line in f:
names,password=line.strip().split(':')
if inp_name == names:
if inp_pwd == password:
print('登录成功')
break
else:
print('密码错误')
count+=1
else:
print('用户不存在')
count+=1
break
elif cmd == '2':
tag=True
while tag:
print('秀儿,请开始你的表演')
name2=input('请输入注册用户名:').strip()
pwd2=input('请输入密码:').strip()
with open(r'users.txt', mode='r+t', encoding='utf-8') as f:
for d in f:
xx2, pwd2 = d.strip().split(':')
if name2 ==xx2:
print('用户已存在,请重新输入')
continue
else:
f.write('{}:{}\n'.format(name2,pwd2))
print('注册成功')
tag=False
break
else:
print('输入的命令不存在')
# 思考:上述这个if分支的功能否使用其他更为优美地方式实现