python面向对象银行后台管理系统

用简单的面向对象方法模拟一个银行终端处理器
首先,先处理管理员登录,在这里默认管理员登录账号为admin 密码为123456

# 管理员系统
class Admin:
    # 输入参数   管理员卡号   管理员密码
    def __init__(self, account='admin', password='123456'):
        self.account = account
        self.password = password
    # 欢迎界面

    def welcome(self):
        print('+' + '-' * 30 + '+')
        print('|' + ' ' * 30 + '|')
        print('|' + ' ' * 3 + '欢迎使用xx银行操作系统' + ' ' * 5 + '|')
        print('|' + ' ' * 30 + '|')
        print('+' + '-' * 30 + '+')
    # 操作界面

    def menu(self):
        print('+' + '-' * 30 + '+')
        print('|' + '开    户[1]         销    户[2]' + '|')
        print('|' + '查询余额[3]         取    款[4]' + '|')
        print('|' + '存    款[5]         转    账[6]' + '|')
        print('|' + '修改密码[7]         锁定账户[8]' + '|')
        print('|' + '解锁账户[9]         退    出[0]' + '|')
        print('|' + '     查询所有账户信息[10]      ' + '|')
        print('+' + '-' * 30 + '+')
    # 管理员登录

    def login(self):
        account = input('请输入管理员账号:')
        password = input('请输入管理员密码:')

        if account == 'admin' and password == '123456':
            return True
        return False
# 这里模拟了管理员的登录以及操作页面,接下来我们创建一个简单的用户登录的类
import os
import pickle


class User:
    def __init__(self, name, uid, card):
        self.name = name
        self.uid = uid
        self.card = card

    def __str__(self):
        return '姓名:{},身份证:{},卡号:{}'.format(self.name, self.uid, self.card.cid)
    # 将用户封装到文件内:序列化

    @staticmethod
    def save_user(userinfo):
        pathname = os.path.join(os.getcwd(), 'userinfo.bd')
        with open(pathname, 'wb') as fp:
            pickle.dump(userinfo, fp)
    # 将数据读取

    @staticmethod
    def load_user():
        pathname = os.path.join(os.getcwd(), 'userinfo.bd')
        if os.path.exists(pathname):
            with open(pathname, 'rb') as fp:
                userinfo = pickle.load(fp)
                return userinfo
        else:
            return {}
# 用户类包含了用户的信息以及用户信息的打印,与上个代码里的10:查看用户信息相对应,为了更加简单的测试,后两个类函数使用静态方法,可以使银行开户时把用户信息进行简单持久化存储(在这里用的是序列化的方式)和用户登录使用系统时提取用户数据

大家众所周知当我们去银行的时候,我们需要插入银行卡,那么我们就需要一个银行卡类来储存我们的用户密码,银行卡号,卡上金额。当然,当你信誉不好时,银行同样也会锁定你的银行卡

class Card:
    def __init__(self, cid, pwd):
        self.cid = cid
        self.pwd = pwd
        self.money = 0              # 余额
        self.is_lock = False        # 是否锁定

当我们把所有的类都创建好后,我们需要把我们写的类的内容进行一个操作整理

from user import User
from admin import Admin
from operate import Operate


if __name__ == '__main__':
    # 创建管理员对象
    admin = Admin()
    # 统计管理员登录次数
    count = 0
    while
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值