利用代码实现增删改查
实现功能:
一级菜单:登入,注册,退出
二级菜单:查询余额功能,转账,存款取款,使用记录查询更新
userinfo = {'1001':['123456','王强',2000],'1002':['123123','赵宇',2000.98],'1003':['123000','张玲玲',2000.98]}
# 操作记录信息:
records = {'1001': [['2022-01-07 15:30:12', '取款', '无', '200.00'],
['2022-01-06 17:30:12', '转账', '1002', '200.00'],
['2022-01-05 15:30:13', '存款', '无', '200.00'],
['2022-01-05 15:35:12', '取款', '无', '200.00']],
'1002': [['2022-01-07 15:30:22', '取款', '无', '200.00'],
['2022-01-06 05:30:12', '转账', '1003', '200.00'],
['2022-01-05 15:22:12', '存款', '无', '200.00'],
['2022-01-05 15:30:09', '取款', '无', '200.00']]
}
import datetime
while True:
a = datetime.datetime.now ( ).strftime ("%Y-%m-%d %H:%M:%S")
print (' 欢迎使用中国工商银行ATM '.center (50, '=')) # 界面显示1
print ('【1】登入 【2】注册 【3】退出'.center (45, '-')) # 界面显示2
# print(f'当前时间:{a}')
choose=input('请选择功能选项:')
if choose=='1':
print('登入功能')#进入登入功能
uid=input('请输入你的用户uid:')#键盘输入账号
pwd=input('请输入你的密码:')#键盘输入密码
if uid not in userinfo.keys():
print ('用户不存在')
else:
count=0
while True:
if pwd==userinfo[uid][0]:
print('登入成功')
b3 = [f'{datetime.datetime.now ( ).strftime ("%Y-%m-%d %H:%M:%S")}', '登入',f'{uid}', '无']
records[uid].append (b3)
# f1=True
# while f1:
# a = datetime.datetime.now ( ).strftime ("%Y-%m-%d %H:%M:%S")
print(' 请输入你的选项 '.center(50,'='))#二级页面显示
print(' 【1】查询余额 【2】转账 【3】取款 【4】存款 【5】查看操作记录 【6】返回主菜单 '.center(50,'-'))
print (f'当前时间:{a}')
chose1=input('请输入你的业务选项:')
#
if chose1=='1':#进入余额查询页面
username=userinfo[uid][1][0]+ '*'+userinfo[uid][1][-1]
zf=userinfo[uid][-1]
print(f'尊敬的{username}先生/女士,你的账户余额为{zf}元')
b = [f'{datetime.datetime.now ( ).strftime ("%Y-%m-%d %H:%M:%S")}','查询','无', f'{zf}']
records[uid].append(b)
elif chose1=='2':#进入转账页面
print('转帐功能')
zuid=input('请输入你需要转账的uid:')
zmoney=input('请输入你的转账金额:')
zmoney = int (zmoney)
if zuid not in userinfo.keys ( ):#账户检验
print('账户不存在')
elif userinfo[uid][-1]==0:
print('余额为0无法转账')
elif zmoney<userinfo[uid][-1]:
userinfo[uid][-1] = userinfo[uid][-1] - zmoney
userinfo[zuid][-1]=userinfo[zuid][-1]+zmoney
print('转账成功')
b2 = [f'{datetime.datetime.now ( ).strftime ("%Y-%m-%d %H:%M:%S")}', '转账',zuid, f'{zmoney}']
records[uid].append (b2)
else:
print ('余额不足')
elif chose1=='3':#进入取款页面
print('取款功能')
wmoney=input('请选择你取款的金额是多少:')
wmoney=int(wmoney)
if wmoney<userinfo[uid][-1]:
userinfo[uid][-1]=userinfo[uid][-1]-wmoney
print(userinfo[uid][-1])
print('取款成功!')
username2 = userinfo[uid][1][0] + '*' + userinfo[uid][1][-1]
zf2 = userinfo[uid][-1]
print (f'尊敬的{username2}先生/女士,你的账户余额为{zf2}元')
b1 = [f'{datetime.datetime.now ( ).strftime ("%Y-%m-%d %H:%M:%S")}', '取款', '无', f'{wmoney}']
records[uid].append (b1)
else:
print('你的账户余额不足')
elif chose1=='4':#进入存款页面
print('存款功能')
savmoney=input('请输入你要存款的金额:')
savmoney=int(savmoney)
userinfo[uid][-1]=userinfo[uid][-1]+savmoney
print('存款成功')
b4 = [f'{datetime.datetime.now ( ).strftime ("%Y-%m-%d %H:%M:%S")}', '存款', '无', f'{savmoney}']
records[uid].append (b4)
username1 = userinfo[uid][1][0] + '*' + userinfo[uid][1][-1]
zf1 = userinfo[uid][-1]
print (f'尊敬的{username1}先生/女士,你的账户余额为{zf1}元')
#存款信息存入字典(时间+操作)
elif chose1=='5':#进入查看操作记录
print('查看操作记录页面')
for i in records[uid]:
if i[1]=='取款':
print(f'{i[0]},进行了{i[1]},取款了{i[3]}元')
elif i[1]=='查询':
print (f'{i[0]},进行了{i[1]},当前余额为{i[3]}元')
elif i[1]=='转账':
print(f'{i[0]}进行了{i[1]},转帐账户{i[2]}转账金额为{i[3]}')
elif i[1]=='登入':
print(f'{i[0]},{i[2]}进行了登入')
elif i[1] == '存款':
print (f'{i[0]},进行了{i[1]},存了{i[3]}元')
elif chose1=='6':
print('返回主菜单')
break
else:
if count <2:
print('密码错误')
count=count+1
pwd=input('请再次输入密码:')
else:
exit()#密码超过3次退出
elif choose=='2':
print('注册功能')
useuid=input('请输入你注册的uid(4位纯数字):')
usepass=input('请输入你注册的6位纯数字密码')
usename=input('请输入你的用户名:')
if useuid.isdigit()==False and len(useuid)!=4:#uid判断规则
print('请输入正确的uid')
elif useuid in userinfo.keys():
print('用户已经存在')
elif usepass.isdigit()==False and len(usepass)!=6:#密码的判断规则
print('请输入格式正确的密码')
elif usename.isalpha()==False:#用户名的判断规则
print('请输入字母或文字')
else:
ps={}
ps[useuid]=[usepass, usename,2000]#uid,密码,用户名,默认金额存入字典
userinfo.update(ps)
print('注册成功')
elif choose=='3':
print ('退出')
exit()