• 大小: 10KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-12-23
  • 语言: Python
  • 标签:

资源简介

完整版银行管理系统,可以用于课程设计、练手小程序,数据采用文件存储,代码注释完整,新手也可以很容易的看懂。

资源截图

代码片段和文件信息

# 各种操作类
import random
from card import Card
from user import User
import time


class ATM(object):
    # 初始化
    def __init__(self allUsersInfo):
        # 将所有用户信息传递过来,以便后续操作
        self.allUsersInfo = allUsersInfo  # 卡号 :用户

    # 确认密码
    def checkPwd(self realPwd):
        myList = [3 2 1 0]
        for i in myList:
            # 如果密码输入错误超过三次
            if i == 0:
                return False
            rePass = input(‘请再次输入密码:‘)
            if realPwd == rePass:
                return True
            elif (i - 1) != 0:
                print(‘输入错误,你还有%d次输入的机会!‘ % (i - 1))

    # 随机生成开户卡号
    def randomId(self):
        while True:
            # 存储卡号
            str = ‘‘

            # 随机生成6位卡号
            for i in range(6):
                ch = chr(random.randrange(ord(‘0‘) ord(‘9‘) + 1))
                str += ch

            # 判断卡号是否重复
            if not self.allUsersInfo.get(str):
                return str

    # 开卡操作
    def createUser(self):
        try:
            name = input(‘请输入姓名:‘)  # 用户姓名
            idCard = input(‘请输入身份证号码:‘)  # 用户身份证号
            phone = input(‘请输入电话号码:‘)  # 用户的电话号码
            preMoney = int(input(‘请输入预存金额:‘))  # 用户的预存金额

            # 预存金额少于0则开户失败
            if preMoney < 0:
                print(‘预存金额有误,开户失败!‘)
                return -1

            # 设置密码
            onePwd = input(‘请输入密码:‘)  # 第一次密码
            twoPwd = self.checkPwd(onePwd)

            if not twoPwd:
                print(‘确认密码错误,开户失败!‘)
                return -1

            # 以上全部完成,则开户所需的信息准备齐全,开户成功
            # 系统生成开户卡号

            # 生成卡号
            cardStr = self.randomId()

            # 创建一个卡的实例,用于存储卡的信息
            card = Card(cardStr onePwd preMoney)

            # 创建一个用户实例,用于存储用户的信息
            user = User(name idCard phone card)

            # 按 卡号 : 用户信息 键值对的形式存入字典中
            self.allUsersInfo[cardStr] = user

            # 提示用户,已经开户成功
            time.sleep(1)
            print(‘开户成功,请牢记卡号({})...‘.format(cardStr))

        except Exception as e:
            print(‘抱歉,系统出现故障,暂时无法操作!‘)
            return

    # 判断卡号是否存在
    def isExistence(self cardStrInp):
        # 卡号不存在,直接退回到选项界面
        if self.allUsersInfo.get(cardStrInp):
            return True

        # 卡号不存在的情况下
        else:
            print(‘卡号不存在!‘)
            return False

    # 做查询等操作时,输入密码
    def secretOption(self cardStrInp):
        myList = [3 2 1 0]
        for i in myList:
            # 如果密码输入错误超过三次
            if i == 0:
                return False
            passInp = input(‘请输入密码:‘)
            if passInp == self.allUsersInfo[cardStrInp].cardInfo.cardPwd:
                return True
            elif (i - 1) != 0:
                print(‘输入错误,你还有%d次输入的机会!‘ % (i - 1))


    # 查询用户信息
    def searchUserInfo(self):
        cardStrInp = input(‘请输入卡号:‘)  # 用户想要查询的卡号

        # 判断卡号的状态
        isExist = self.isExisten

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      12897  2017-10-21 10:00  bank\atm.py

     文件        272  2017-10-21 10:00  bank\card.py

     文件        332  2017-10-21 09:57  bank\database.txt

     文件       2386  2017-10-21 10:00  bank\main.py

     文件        348  2017-10-19 21:49  bank\test.py

     文件        330  2017-10-21 10:00  bank\user.py

     文件       2059  2017-10-21 10:01  bank\view.py

     文件       6741  2017-10-21 09:54  bank\__pycache__\atm.cpython-36.pyc

     文件        468  2017-10-19 20:20  bank\__pycache__\card.cpython-36.pyc

     文件        466  2017-10-19 20:20  bank\__pycache__\user.cpython-36.pyc

     文件       1720  2017-10-21 09:43  bank\__pycache__\view.cpython-36.pyc

     目录          0  2017-10-21 09:54  bank\__pycache__

     目录          0  2017-10-21 10:01  bank

----------- ---------  ---------- -----  ----

                28019                    13


评论

共有 条评论