定义一个账户类,可以创建多个账户进行存款、取款 、查询余额、以及销户等操作

这篇博客介绍了如何使用Python定义一个账户类,该类支持创建多个账户,进行存款、取款、查询余额以及销户等操作。博主采用字典存储用户信息,并利用列表管理多个账户,实现对特定用户数据的访问和操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

总思路:

将一个字典作为一个用户的储存空间,来储存用户的用户名和密码,在传入列表进行一个用户的储存,再通过列表的来取出某一个字典从而获取该用户的数据进行比对

##定义一个账户类
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


不太会写解释,请见谅(我也是初学者,🤭)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值