zoukankan      html  css  js  c++  java
  • 创建一个银行类

    # -*- conding:utf-8 -*-
    '''
        类:
      创建一个银行类
    属性:
      一个属于银行的类属性
      用来存储所有银行的开户信息,包含卡号、密码、用户名、余额
    (外界不能随意访问和修改。开户时要进行卡号验证,查看卡号是否已经存在)
    每个对象拥有
      卡号,密码,用户名,余额
      (外界不能随意访问和修改。)
    方法:银行类拥有
             查看本银行的开户总数
              查看所有用户的个人信息(包含卡号,密码,用户名,余额)
    每个对象拥有
    实例化对象的时候传入相关参数
    初始化对象及类属性
    取钱(需要卡号和密码验证)
      通过验证卡号和密码对个人的余额进行操作,如果取钱的金额大于余额,则返回余额不足
    存钱(需要卡号和密码验证)
         通过验证卡号和密码对个人的余额进行操作,返回成功
      查看个人相信信息(需要卡号和密码验证)
       返回个人的卡号、用户名、余额信息
    
    '''
    class Bank:
        #创建一个类属性,
        __Users = { } #字典 用来存储所有银行的开会信息,包含卡号、密码、用户名、余额
        def __init__(self,carId,userName,pwd,balance):
            if carId not in Bank.__Users:
                Bank.__Users[carId]={'userName':userName,'pwd':pwd,'balance':balance}
                self.__userName = userName
                self.__pwd = pwd
                self.__balance = balance
        # 查看本银行的开户总数
        @classmethod   #类方法
        def nums(cls):
            num = len(cls.__Users)
            print('银行的开户总数: %d'%num)
        #查看所有用户的个人信息(包含卡号,密码,用户名,余额)
        @classmethod
        def get_user(cls):
            for key,val in cls.__Users.items():
                print('卡号: %s 
    用户名: %s 
    密码: %s 
    余额: %d 
    '%(key,val['userName'],val['pwd'],val['balance']))
        #验证方法
        @staticmethod
        def check_user(carId,pwd):
            if( (carId  in Bank.__Users) and (pwd == Bank.__Users[carId]['pwd']) ):
                return True
            else:
                return False
        #验证金额
        @staticmethod
        def check_money(money):
            if isinstance(money,int):
                return  True
            else:
                return  False
        #取钱(需要卡号和密码验证)
        def q_money(self,carId,pwd,money):
            if Bank.check_user(carId,pwd):
                if Bank.check_money(money):
                    if Bank.__Users[carId]['balance']>=money:
                        Bank.__Users[carId]['balance'] -= money
                        print('当前卡号%s,当前取款金额%d,当前余额%d'%(carId,money,Bank.__Users[carId]['balance']))
                    else:
                        print('金额不足')
                else:
                    print('您输入的金额有误!')
            else:
                print('卡号或密码错误!')
        #存钱
        def c_money(self,carId,pwd,money):
            if Bank.check_user(carId,pwd):
                if Bank.check_money(money):
                        Bank.__Users[carId]['balance'] += money
                        print('当前卡号%s,当前存款金额%d,当前余额%d'%(carId,money,Bank.__Users[carId]['balance']))
                else:
                    print('您输入的金额有误!')
            else:
                print('卡号或密码错误!')
        #查看个人详细信息(需要卡号和密码验证)
        def getInfor(self,carId,pwd):
            if Bank.check_user(carId,pwd):
    
                 print('当前卡号%s,当前存款金额%d,当前余额%d'%(carId,money,Bank.__Users[carId]['balance']))
            else:
                print('卡号或密码错误!')
    
    xuyg = Bank('0000','xuyg','123',100)
    xuyg.nums()
    xuyg.get_user()
    xuyg.q_money('0000','123',50)
    xuyg.c_money('0000','123',500)
  • 相关阅读:
    241. Different Ways to Add Parentheses java solutions
    89. Gray Code java solutions
    367. Valid Perfect Square java solutions
    46. Permutations java solutions
    116. Populating Next Right Pointers in Each Node java solutions
    153. Find Minimum in Rotated Sorted Array java solutions
    判断两颗树是否相同
    求二叉树叶子节点的个数
    求二叉树第k层的结点个数
    将二叉排序树转换成排序的双向链表
  • 原文地址:https://www.cnblogs.com/xyg-zyx/p/8968915.html
Copyright © 2011-2022 走看看