user_dic = {}
class Account:
def __init__(self, user, password):
self.user = user
self.password = password
def deposit(self, money): # 存款
from decimal import Decimal
user_money = Decimal(str(user_dic[self.user]['money'])) + Decimal(money)
user_dic[self.user]['money'] = user_money
print(f'存款成功,你现在的余额有{user_dic[self.user]["money"]}元。')
def withdraw(self, money): # 取款
from decimal import Decimal
if money <= user_dic[self.user]['money']:
user_dic[self.user]['money'] = Decimal(str(user_dic[self.user]['money'])) - Decimal(str(money))
print(f'取款成功,你现在的余额有{user_dic[self.user]["money"]}元。')
def query(self): # 查询余额
print(f'你现在的余额有{user_dic[self.user]["money"]}元。')
def transfer(self, transfer_money, transfer_user):
from decimal import Decimal
if user_dic[self.user]['money'] >= float(transfer_money):
user_dic[self.user]['money'] = Decimal(str(user_dic[self.user]['money'])) - Decimal(transfer_money)
user_dic[transfer_user]['money'] = Decimal(str(user_dic[transfer_user]['money'])) + Decimal(transfer_money)
def deregistration(self):
user_dic.pop(self.user)
print('销户成功')
def login(user, password): # 登录之后
print('======登录成功=======')
A = Account(user=user, password=password)
while True:
num1 = input('请选择你要进行的操作1、存款 2、取款 3、查款 4、销户 5、转账 其他:退出')
if num1 == '1':
money_deposit1 = input('请输入存款金额:')
# eval()函数 字符串计算
if eval(money_deposit1) > 0 and (type(eval(money_deposit1)) == float or type(eval(money_deposit1)) == int):
money_deposit1 = money_deposit1
A.deposit(money_deposit1)
else:
print('金额输入有误,请重新操作。')
elif num1 == '2':
money_deposit2 = input('请输入取款金额:')
if eval(money_deposit2) > 0 and (
type(eval(money_deposit2)) == float or type(eval(money_deposit2)) == int) and (
Decimal(money_deposit2) <= user_dic[user]['money']):
money_deposit2 = float(money_deposit2)
A.withdraw(money_deposit2)
else:
print('金额输入有误,请重新操作。')
elif num1 == '3':
A.query()
elif num1 == '4':
A.deregistration()
break
elif num1 == '5':
transfer_user = input('请输入需要转账的用户')
transfer_money = input('请输入转账金额')
if (eval(transfer_money)) > 0 and (
type(eval(transfer_money)) == float or type(eval(transfer_money)) == int) and (
Decimal(transfer_money) <= user_dic[user]['money']):
A.transfer(transfer_money,transfer_user)
else:
break
if __name__ == '__main__':
from decimal import Decimal
print('====欢迎来到帅哥滴银行====')
while True:
num = input('请选择你要进行的操作:1、登录 2、注册 其他:退出')
if num == '1':
user_name = input('请输入用户名:')
pwd = input('请输入密码:')
if user_name in user_dic:
if pwd == user_dic[user_name]['password']:
login(user=user_name, password=pwd)
else:
print('用于不存在,请先注册用户。')
elif num == '2':
user_name1 = input('请输入用户名:')
pwd1 = input('请输入密码:')
pwd2 = input('请再次输入密码:')
if user_name1 not in user_dic:
while pwd1 != pwd2:
pwd1 = input('请输入密码:')
pwd2 = input('请再次输入密码:')
else:
print('注册成功')
user_dic[user_name1] = {'password': pwd2, 'money': Decimal('0')}
else:
print('用户已经存在,请更换用户名')
else:
break
04-08
6496
07-24
4322