user

class User:
    """
    用户类
    """
    def __int__(self,name,id,phone,card):
        """
        构造方法
        :param name:用户名
        :param id: 身份证
        :param phone: 电话
        :param card: 银行卡(对象)
        """
        self.name = name
        self.id = id
        self.phone = phone
        self.card = card

card

class Card:
    """
    银行卡类
    """
    def __init__(self,card_num,pwd,money):
        """
        银行卡构造方法
        :param card_num:卡号
        :param pwd: 密码
        :param money: 余额
        """
        self.card_num = card_num
        self.pwd = pwd
        self.money = money
        # 解锁属性,默认其为:未锁定
        self.cardLock = False

bank_ui

class BankUI:
    """
    界面辅助类
    """
    # 模拟数据的管理员登录信息,只有登录后才可以进行银行卡的相关操作
    # 管理员用户名
    admin_username = "admin"
    # 密码
    admin_password = "123"

    def print_welcome_ui(self):
        """
        打印欢迎界面
        :return:
        """
        print("*" * 45)
        print("****                                     ****")
        print("****         欢迎登陆银行管理系统            ****")
        print("****                                     ****")
        print("*" * 45)

    def print_sys_menu(self):
        """
        打印系统菜单
        :return:
        """
        print("*" * 45)
        print("****                                     ****")
        print("****    1.开户(1)     2.查询(2)         ****")
        print("****    3.取款(3)     4.存款(4)         ****")
        print("****    5.转账(5)     6.锁定(6)         ****")
        print("****    7.解锁(7)                        ****")
        print("****                                     ****")
        print("****    退出系统(Q)                       ****")
        print("****                                     ****")
        print("*" * 45)

    def admin_verify(self):
        """
        验证管理员身份,验证通过方可继续操作
        :return:
        """
        username = input("请输入用户名:")
        if username !=BankUI.admin_password:
            print("密码错误!")
            return -1
        # 通过验证
        print("操作成功!请稍后···")

atm【待添加】

 

bank

import time
from atm import ATM
from bank_ui import BankUI
class HomePage
    """
    组装功能,执行银行系统
    """
    def __init__(self):
        """
        初始化功能,实现模拟数据库字典,初始化ATM和UI
        """
        self.alluser={}
        self.atm = ATM(self.alluser)
        self.bank_ui = BankUI()

    def saveUser(self):
        """
        模拟数据存盘
        :return:
        """
        self.alluser.update(self.atm.alluser)
        print("数据存盘成功!")

    def main(self):
        """
        系统入口
        :return:
        """
        # 打印欢迎页面
        self.bank_ui.print_welcome_ui()
        # 管理员登录,并选择功能进行操作
        result = self.bank_ui.admin_verify()
        if not result:
            while True:
                # 打印菜单
                self.bank_ui.print_sys_menu()
                option = input("请选择功能:")
                # 判断是否非法
                if option not in ('1','2','3','4','5','6','7','Q','q'):
                    print("输入有误!")
                    #暂停一秒
                    time.sleep(1)
                if option == "1":
                    self.atm.create_user()
                elif option == "2":
                    self.atm.searh_user()
                elif option == "3":
                    self.atm.get_money()
                elif option == "4":
                    self.atm.save_money()
                elif option == "5":
                    self.atm.tranfer_money()
                elif option == "6":
                    self.atm.lock_card()
                elif option == "7":
                    self.atm.unlock card()
                elif option.upper() == "Q":
                    # 验证身份,方可退出系统,进行模拟存盘
                    if not self.bank_ui.admin_verify():
                        self.saveUser()
                        print("正在退出系统···")
                        return  -1


# 编写测试
if __name__== "__main__":
    homepage = HomePage()
    homepage.main()