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

class Account():
    #初始化方法
    def __init__(self,name,pwd,money = 0):
        self.name = name
        self.pwd = pwd
        self.money = money
        
    #存款
    def deposit(self,pwd,money):
        if pwd == self.pwd:
            if isinstance(money,(int,float)) and money >= 0:
                self.money += money
                print( '您已成功存款%d元,卡上余额为%d元'%(money,self.money))
            else:
                print( '对不起,请输入正确的金额')
        else:
            print('对不起,您的密码输入错误')

    #取款
    def withdraw(self,pwd,money):
        if pwd == self.pwd:
            if isinstance(money,(int,float)) and money >= 0:
                if self.money >= money:
                    self.money -= money
                    print('您已成功取款%d元,卡上余额为%d元'%(money,self.money))
                else:
                    print('对不起,您的卡上余额已不足,请输入正确的金额')
            else:
                print('请输入正确的金额')
        else:
            print('对不起,您的密码输入错误')

    #查询余额
    def query(self,pwd):
        if pwd == self.pwd:
            print( '卡上余额为%d元'%self.money)
        else:
            print('对不起,您的密码输入错误')

    #注销账户
    def close(self,pwd):
        if pwd == self.pwd:
            if self.money == 0:
                self.name == ''
                self.money == 0
                self.pwd == ''
                print('注销成功')
                li.remove(user1)
            else:
                print('卡上尚有余额,请先取出')
        else:
            print('对不起,你的密码输入错误')

def func():
    while True:
        num2 = int(input('1.存款\n2,取款\n3.查询余额\n4.注销账户\n5.退出\n请输入您的选择:'))
        if num2 == 1:
            pwd3 = input('请输入密码:')
            while pwd3 != pwd1:
                print('密码输入错误')
                pwd3 = input('请输入密码:')
            else:
                money = int(input('请输入金额:'))
                a.deposit(pwd3,money)

        elif num2 == 2:
            pwd3 = input('请输入密码:')
            while pwd3 != pwd1:
                print('密码输入错误')
                pwd3 = input('请输入密码:')
            else:
                money = int(input('请输入金额:'))
                a.withdraw(pwd3,money)

        elif num2 == 3:
            pwd3 = input('请输入密码:')
            while pwd3 != pwd1:
                print('密码输入错误')
                pwd3 = input('请输入密码:')
            else:
                a.query(pwd3)

        elif num2 == 4:
            pwd3 = input('请输入密码:')
            while pwd3 != pwd1:
                print('密码错误')
                pwd3 = input('请输入密码:')
            else:    
                a.close(pwd3)          
                break
            
        elif num2 == 5:
            print('退出成功')
            break

        else:
            print('请输入正确的选择')
            
li = []
while True:
    print('==========欢迎来到程序员专属银行==========')
    num = int(input('1.注册账户\n2.登录\n3.退出\n请输入您的选择:'))
    if num == 1:
        user = input('请输入用户名:')
        pwd1 = input('请输入密码:')
        pwd2 = input('请再次输入密码:')
        if pwd1 == pwd2:
            li.append(user)
            a = Account(user,pwd1)
            print('恭喜你注册成功')
        else:
            print('对不起,您的两次密码输入不一致')
            user = input('请输入用户名:')
            pwd1 = input('请输入密码:')
            pwd2 = input('请再次输入密码:')

    elif num == 2:
        user1 = input('请输入用户名:')
        pwd3 = input('请输入密码:')
        if user1 in li:
            if pwd3 == pwd1:
                func()
            else:
                print('对不起,您的密码输入错误')
        else:
            print('对不起,该用户未注册')

    elif num == 3:
        print('退出成功')
        break

    else:
        print('请输入正确的选项')
            
    

 

  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验题目 编写一个实现银行帐户的概念,包括的属性有“帐号”、“储户姓名”、“地址”、“存款余额”,包括的方法有“存款”、“取款”、“查询”、“计算利息”、“累加利息”等。 实验要求 改写上面的,增加一个的静态属性“最小余额”和一个用来修改这个最小余额属性的方法。 改写上面的,增加一个的静态属性“活期利率”和封装这个属性的相应方法。 程序模块 实验后的结果验证 总结体会 通过此次实验,我初步掌握了编写一个的概念,更进一步的熟悉了static等等与之用法相似的语法,增强了自己学好JAVA的信心。进一步掌握静态对象和非静态对象的区别与联系。 静态对象的数据在全局是唯一的,一改都改。如果你想要处理的东西是整个程序中唯一的,弄成静态是个好方法。 非静态的东西你修改以后只是修改了他自己的数据,但是不会影响其他同对象的数据。 静态对象和非静态对象都是对象,是对象都是要实例化的。不同之处就是2者的数据表现和存储方式不一样。 静态的好处: 引用方便。对于公用型的变量,直接用 名.静态方法名 或者 名.静态变量名就可引用并且直接可以修改其属性值,不用getter和setter方法。 保持数据的唯一性。此数据全局都是唯一的,修改他的任何一处地方,在程序所有使用到的地方都将会体现到这些数据的修改。 有效减少多余的浪费。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值