总思路:
将一个字典作为一个用户的储存空间,来储存用户的用户名和密码,在传入列表进行一个用户的储存,再通过列表的来取出某一个字典从而获取该用户的数据进行比对
##定义一个账户类
class ZhangHu:
name = ""
yuer =0
password=''
def __init__(self,name,password):
self.name = name
self.password=password
# 存款
def cunkuan(self):
while True:
yuer=int(input("请输入你要存的钱"))
self.yuer+=yuer
a=isinstance(self.yuer,(int,float))
if a==True:
print(f"亲爱{self.name}用户您刚刚存入了{yuer}您现在账户有{self.yuer}¥")
break
else:
print("你的输入有误")
# 查询余额
def chaxun(self):
print(f"您的余额为{self.yuer}")
##取款
def qukuan(self):
while True:
yuer = int(input("请输入取款金额"))
if yuer>self.yuer:
print("您的余额目前没有这么多钱,请返回查询余额")
return denglu()
self.yuer -= yuer
a = isinstance(self.yuer, (int, float))
if a == True:
print(f"亲爱{self.name}用户您刚刚取出了{yuer}您现在账户剩余{self.yuer}¥")
break
else:
print("你的输入有误")
# 注销账户
def dels(self,pasword):
global List_Person,index
if self.yuer>0:
print("您的余额中还有%s元请先取出在注销"%self.yuer)
return False
else:
if pasword==self.password:
self.yuer=0
self.name=''
self.password=''
print(index)
del List_Person[index-1]
print("注销成功")
##这是一个用户操作的函数
def denglu():
global List_Person,User,password,path1
choose=int(input("1.存款 2.余额查询3.取款4.账户注销5.退出"))
if choose==1:
path1.cunkuan()
return denglu()
elif choose ==2:
path1.chaxun()
return denglu()
elif choose==3:
path1.qukuan()
return denglu()
elif choose==4:
pa=input("请输入密码")
a=path1.dels(pa)
if a==False:
return denglu()
elif choose==5:
pass
##主程序
List_Person=[]
Users=[]
while True:
index = 0##用来记录是第几个用户
Person = {}
s=int(input("请输入你要执行的操作1.用户开户2.登录 3.退出"))
if s==1:
User = input("请输入用户名")
Password =input("请输入密码")
if User not in Users:
Users.append(User)
path=ZhangHu(User,Password)
Person["用户名"]=User
Person["密码"]=Password
Person["地址"]=path
List_Person.append(Person)
else:
print("用户名已存在")
if s==2:
user=input("请输入用户名")
password=input("请输入密码")
rs=True
for i in List_Person:
index+=1
if user== i["用户名"] and password==i["密码"]:
print("登录成功")
path1=i["地址"]
denglu()
rs=False
if rs:
print("输入的用户名或密码有误")
if s==3:
print("操作结束")
break
不太会写解释,请见谅(我也是初学者,🤭)