只把类的代码写上来了,主函数代码并没有贴上来。
分析:
类:
- 创建一个银行类
属性:
- 一个属于银行的类属性
- 用来存储所用银行的开户信息,包含卡号、密码、用户名、余额
(外界不能随意访问和修改。开户时要进行卡号验证,查看卡号是否已经存在) - 每个对象拥有
- 卡号、密码、用户名、余额
(外界不能随意访问和更改)
- 卡号、密码、用户名、余额
- 用来存储所用银行的开户信息,包含卡号、密码、用户名、余额
方法:
银行类拥有:
- 查看本银行的开户总数
- 查看所有用户的个人信息(包含卡号、密码、用户名、余额)
每个对象拥有:
- 实例化对象的时候传入相关参数
- 初始化对象及类属性
- 取钱(需要卡号和密码验证)
- 通过验证卡号和密码对个人的余额进行操作,如果取钱大于余额,返回余额不足
- 存钱(需要卡号和密码验证)
- 通过验证卡号和密码对个人的余额进行操作,返回操作成功
查看个人详细信息(需要卡号密码验证)
- 返回个人的卡号,用户名,余额信息
代码:
class Bank():
__users = {}
def __init__(self, cardId, pwd, userName, banlance=0):
self.__cardId = cardId
self.__pwd = pwd
self.__userName = userName
self.__banlance = banlance
self.flag = True
if cardId in Bank.__users.keys():
print('{}卡号已经存在'.format(cardId))
self.flag = False
else:
Bank.__users[cardId] = self
def viewInfo(self):
print('卡号:{}\t用户名:{}\t余额:{}'.format(self.__cardId, self.__userName, self.__banlance))
def qu(self, cardId, curPwd, num):
if cardId == self.__cardId:
if curPwd == self.__pwd:
if num <= self.__banlance:
print('取钱成功')
self.__banlance = self.__banlance - num
else:
print('余额不足')
else:
print('密码错误')
else:
print('卡号错误')
def cun(self, cardId, curPwd, num):
if cardId == self.__cardId:
if curPwd == self.__pwd:
print('存钱成功')
self.__banlance = self.__banlance + num
else:
print('密码错误')
else:
print('卡号错误')
@classmethod
def viewUserCount(cls):
print('开户总数:{}'.format(len(cls.__users)))
@classmethod
def viewUsersInfo(cls):
for user in cls.__users.values():
user.viewInfo()