Python练习:银行ATM系统

本文介绍了使用Python编程实现一个银行ATM系统的全过程,包括管理员、用户、银行卡和ATM类的设计,以及系统运行效果的展示,展示了如何通过Python进行模拟系统开发。
摘要由CSDN通过智能技术生成

创建管理员类:

class Admin:
    def __init__(self,name,passwd):
        self.name = name
        self.passwd = passwd

    def login(self):
        for i in range(3):
            name = input('输入管理员账号:')
            passwd = input('输入管理员密码:')
            if name == self.name and passwd == self.passwd :
                print('登陆成功!')
                return True
            else:
                print('登录失败!')

创建用户类:

import pickle
import os
class User:
    def __init__(self,name,id,tel,card):
        self.name = name
        self.id = id
        self.tel = tel
        self.card = card
    @staticmethod
    def xieru(x):
        path =os.path.join(os.getcwd(),'a.db')
        f = open(path,'wb')
        pickle.dump(x,f)
        f.close()
    @staticmethod
    def duqu():
        path = os.path.join(os.getcwd(),'a.db')
        f = open(path,'rb')
        a = pickle.load(f)
        f.close()
        return a

银行卡类:

class Card:
    def __init__(self,num,money,pwd):
        self.num = num
        self.money = money
        self.pwd = pwd
        self.clock = False

ATM类和主程序:

from user import User
from card import Card
from admin import Admin
import random

class Atm:
    def __init__(self):
        self.user_dict = {}

    def welcome(self):
        print('*' * 30)
        print('*' + " " * 6 + '开户(1)' + '  ' + '查询(2)' + ' ' * 6 + '*')
        print("*" + " " * 6 + '取款(3)' + '  ' + '存款(4)' + ' ' * 6 + '*')
        print("*" + " " * 6 + '转账(5)' + '  ' + '改密(6)' + ' ' * 6 + '*')
        print("*" + " " * 6 + '锁定(7)' + '  ' + '解锁(8)' + ' ' * 6 + '*')
        print("*" + " " * 6 + '销户(9)' + '  ' + '退出(0)' + ' ' * 6 + '*')
        print('*' * 30)
    def mkcard(self):
        cardid = ''
        for i in range(6):
            a = str(random.randint(0,9))
            cardid += a
        return cardid

if __name__ == '__main__':

    atm = Atm()
    admin = Admin('admin','123456')


    if admin.login():
        try:
            atm.user_dict = User.duqu()
        except Exception as e:
            print(' ')
        while 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值