day13作业

# 1、编写文件修改功能,调用函数时,传入三个参数(修改的文件路径,要修改的内容,修改后的内容)既可完成文件的修改
# 2、编写tail工具
# 3、编写登录功能
# 4、编写注册功能
# 5、编写用户认证功能
# 选做题:编写ATM程序实现下述功能,数据来源于文件db.txt
# 1、充值功能:用户输入充值钱数,db.txt中该账号钱数完成修改
# 2、转账功能:用户A向用户B转账1000元,db.txt中完成用户A账号减钱,用户B账号加钱
# 3、提现功能:用户输入提现金额,db.txt中该账号钱数减少
# 4、查询余额功能:输入账号查询余额

# 选做题中的选做题:登录功能
# 用户登录成功后,内存中记录下该状态,上述功能以当前登录状态为准,必须先登录才能操作


tag = True
tag1 = True
user = {}
while tag:
msg =\
'''
0:退出;
1:登录;
2:注册
'''
print(msg)
cmd = input('请输入命令>>>:')
with open('user.txt',mode='rt',encoding='utf-8') as f1:
for line in f1:
username,password = line.strip().split(':')
user[username] = password
if cmd == '0':
print('欢迎下次光临!')
break
elif cmd == '1':
i = 0
while 1:
inp_user = input('请输入您的账号名:')
inp_pass = input('请输入您的账户密码:')
if inp_user not in user:
print('您的账户不存在,请先注册!')
break
elif user[inp_user] == inp_pass:
print('恭喜您登陆成功!')
# while tag1:
# msg1 ='''0:充值功能;
# 1:转账功能;
# 2:提现功能;
# 3:查询余额功能'''
# # 选做题:编写ATM程序实现下述功能,数据来源于文件db.txt
# # 1、充值功能:用户输入充值钱数,db.txt中该账号钱数完成修改
# # 2、转账功能:用户A向用户B转账1000元,db.txt中完成用户A账号减钱,用户B账号加钱
# # 3、提现功能:用户输入提现金额,db.txt中该账号钱数减少
# # 4、查询余额功能:输入账号查询余额
# print(msg1)
# cmd1 = input('请输入命令:')
# with open('db.txt',mode='at',encoding='utf-8') as f3:
# for line1 in f3:

break
else:
i += 1
if i == 3:
print('您的输入次数已达上限,账户已锁定')
tag = False
break
else:
print('您的账号密码输入错误,请重新输入')
elif cmd == '2':
while 1:
reg_user = input('请输入您想注册的账号:')

if reg_user in user:
print('您的账户已存在,请直接登录')
break
else:
reg_pass = input('请输入您注册的账户密码:')
reg_pass1 = input('请再次输入您注册的账户密码')
if reg_pass == reg_pass1:
print('恭喜您注册成功!')
with open('user.txt', mode='at', encoding='utf-8') as f2:
f2.write('{}:{}\n'.format(reg_user, reg_pass))
break
else:
print('两次密码输入不一致,请重新输入再次确认!')
else:
print('命令不存在,请输入正确的命令!')
posted @ 2021-09-18 15:06  likl-  阅读(39)  评论(0)    收藏  举报