python
from user import User
from card import Card
from helper import Helper
# 操作的类
class Operate:
def __init__(self, userinfo={}):
# 用户保存所有的用户信息
self.userinfo = userinfo
def new_user(self):
name = input('请输入用户名:')
uid = input('请输入身份证:')
pwd = input('请输入密码:')
# 加密密码
pwd = Helper.generate_password_hash(pwd)
# 先创建银行卡对象
# 生成卡号
cid = Helper.generate_cid()
card = Card(cid, pwd)
user = User(uid, name, card)
# 保存到字典中
self.userinfo[cid] = user
# 保存所有用户信息
User.save_user(self.userinfo)
print('开户成功')
def del_user(self):
print('销户')
def query_money(self):
cid = input('请输入您的卡号:')
user = self.userinfo.get(cid)
if user:
# 查看是否已经锁定
if user.card.is_lock:
print('该卡已锁定,请先解锁')
return
print('账户余额:¥{}元'.format(user.card.money))
else:
print('无效的卡号')
def get_money(self):
print('取钱成功')
def save_money(self):
cid = input('请输入您的卡号:')
user = self.userinfo.get(cid)
if user:
# 查看是否已经锁定
if user.card.is_lock:
print('该卡已锁定,请先解锁')
return
# 记录密码错误次数
count = 0
while count < 3:
pwd = input('请输入您的密码:')
# 校验密码
if Helper.check_password_hash(pwd, user.card.pwd):
money = input('请输入您要存的金额:')
user.card.money += int(money)
User.save_user(self.userinfo)
print('存款成功')
break
else:
count += 1
print('密码有误,请重新输入')
else:
user.card.is_lock = True
User.save_user(self.userinfo)
print('密码错误已达上限,该卡已锁定')
else:
print('无效的卡号')
# 转账
def pass_money(self):
cid = input('请输入您的卡号:')
user = self.userinfo.get(cid)
if user:
pwd = input('请输入您的密码:')
if Helper.check_password_hash(pwd, user.card.pwd):
dst_cid = input('请输入收款人账号:')
dst_user = self.userinfo.get(dst_cid)
if dst_user:
money = int(input('请输入您的转账金额:'))
# 判断账户余额是否充足
if user.card.money >= money:
user.card.money -= money
dst_user.card.money += money
User.save_user(self.userinfo)
print('转账成功')
else:
print('余额不足,请及时充值')
else:
print('收款人信息有误')
else:
print('密码错误')
else:
print('无效的卡号')
def change_pwd(self):
print('修改密码成功')
# 变相已经帮大家实现了
def lock_user(self, user):
print('用户锁定')
def unlock_user(self):
cid = input('请输入您的卡号:')
user = self.userinfo.get(cid)
if user:
uid = input('请出示您的身份证:')
if uid == user.uid:
user.card.is_lock = False
User.save_user(self.userinfo)
print('解锁成功')
else:
print('身份证是不是带错了@_@')
else:
print('卡是不是折了:卡号错了')
def show_users(self):
for user in self.userinfo:
print(self.userinfo[user])
python 银行系统 opetate.py 部分
猜你喜欢
转载自blog.csdn.net/qq_42795565/article/details/81461658
今日推荐
周排行