python银行业务办理时间_作业-python银行开户

# -*- coding:utf-8 -*-

# 1,

# 一,银行开户(当卡号已经被开户时需要判断),开户完成后打印出当前开户者的信息,包括用户名,卡号,余额

# 二,存钱(判断卡号是否存在,不存在的情况下无法存钱)

# 三,取钱(除了判断卡号卡,还要判断余额是否足够取)

# 四,获取银行用户信息(只有银行自己才能打印出所有用户的信息,而用户个人只能得到自己的开户信息)

# 用户个人(实例化出来的对象)

# 银行(银行类本身)

class Bank():

__Users={}

def __init__(self,CardId,pwd,name,balance):

if CardId not in Bank.__Users:

Bank.__Users[CardId]={'pwd':pwd,'Username':name,'Balance':balance}

self.__CardID=CardId

self.__pwd=pwd

self.__name=name

self.__balance=balance

#查看银行的开户总数

@classmethod

def nums(cls):

print('当前用户数:%d'%(len(cls.__Users)))

#查看所有用户的个人信息(包含卡号,密码,用户名,余额)

@classmethod

def get_Users(cls):

for key,val, in cls.__Users.items():

print('卡号: %s \n用户名: %s \n密码: %d \n余额: %d'%(key,val['Username'],val['pwd'],val['Balance']))

#验证方法

@staticmethod

def check_User(CardId,pwd):

if(CardId in Bank.__Users) and (pwd==Bank.__Users[CardId]['pwd']):

return True

else:

return False

#验证金额

@staticmethod

def check_money(money):

if isinstance(money,int):

return True

else:

return False

#取钱(需要卡号和密码验证)

def q_money(self,CardId,pwd,money):

if Bank.check_User(CardId,pwd):

#开始取钱

if Bank.check_money(money):

if Bank.__Users[CardId]['Balance']>=money:

Bank.__Users[CardId]['Balance'] -= money

print('当前卡号%s,当前取款金额%d,当前余额%d'%(CardId,money, Bank.__Users[CardId]['Balance']))

else:

print('余额不足')

else:

print('您输入的金额有误')

else:

print('卡号或者密码错误')

# 存钱(需要卡号和密码验证)

def c_money(self, CardId, pwd, money):

if Bank.check_User(CardId, pwd):

# 开始存钱

if Bank.check_money(money):

Bank.__Users[CardId]['Balance'] += money

print('当前卡号%s,当前存款金额%d,当前余额%d' % (CardId, money, Bank.__Users[CardId]['Balance']))

else:

print('您输入的金额有误')

else:

print('卡号或者密码错误')

#查看个人详细信息(需要卡号密码验证)

def getInfo(self,CardId,pwd):

if Bank.check_User(CardId,pwd):

print('当前卡号%s,当前用户名%s,当前余额%d' % (CardId, Bank.__Users[CardId]['Username'], Bank.__Users[CardId]['Balance']))

else:

print('卡号或者密码错误')

joe= Bank('1001',111111,'joe',100)

Bank.nums()

print('_'*50)

Bank.get_Users()

print('_'*50)

joe.c_money('1001',111111,500)

print('_'*50)

joe.q_money('1001',111111,300)

print('_'*50)

joe.getInfo('1001',111111)

标签:.__,Users,python,money,作业,开户,CardId,print,Bank

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值