• python基础之ATM-1


    本系统全部用python基础知识现实
    程序结构
    Atm
    |--README
    |--atm #ATM主程序目录
    | |--__init__.py
    | |--atm.py #ATM执行程序
    | |__manage.py #ATM管理端-->管理端入口,实现添加用户、修改额度、冻结账户
    | |
    | |--conf #配置文件
    | | |--__init__.py
    | | |--setting.py
    | |
    | |--core #主要程序逻辑
    | | |--__init__.py
    | | |--accounts.py #用于从文件里加载和存储账户数据
    | | |--auth.py #用户认证模块
    | | |--db_handler.py #数据库连接引擎
    | | |--logger.py #日志记录模块
    | | |--main.py #主逻辑交互程序------>用户入口,实现商城、取现、还款、消费(刷卡)等功能
    | | |--transaction.py #记账、还钱、取钱等所有与账户金额相关的操作
    | |
    | |--db #用户数据存储的地方
    | | |--__init__.py
    | | |--account_sample.py #生成一个初始账户数据,把这个数据存成一个以这个账户id为文件的文件,放在accounts目录
    | | |--accounts #存各个用户的账户数据,一个用户一个文件
    | | | |--1234.json
    | | |
    | |--log #日志目录
    | |--__init__.py
    | |--access.log #用户访问和操作的相关日志
    | |--transaction.log #所有交易日志
    |
    |--shopping_mall #电子商城程序--->功能结合到main.py内

    搭好框架,后面代码就会好写了,先考虑配置文件的编写

    import os

    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

    #数据库信息
    DATABASE = {
    'engine':'file_storage',
    'name':'accounts',
    'path' : "%sdb"%BASE_DIR
    }

    #用户操作类型
    OPORATION_TYPE = {
    '1':'mall',
    '2':'account',
    '3':'cash',
    '4':'refund',
    '5':'transfer',
    '6':'consumption',
    '7':'exit'
    }

    #算法
    ALGORITHM = {
    'mall':{'action':'no','interset':0},
    'account':{'action':'no','interset':0.05},
    'cash':{'action':'minus','interset':0.05},
    'refund':{'action':'add','interset':0},
    'transfer':{'action':'minus','interset':0},
    'consumption':{'action':'minus','interset':0.02},
    'exit': {'action': 'no', 'interset': 0}
    }

    #日志信息--数据库操作日志
    logfile = {
    'file':'data',
    'name':'access',
    'path' : "%slogs"%BASE_DIR
    }
    #日志信息--账户信息记录
    logfile1 = {
    'file':'trans',
    'name':'transaction',
    'path' : "%slogs"%BASE_DIR
    }
    #购物车相关信息
    SHOP = {
    'file':'mall',
    'name':'mall',
    'path' : "%sdocs"%BASE_DIR
    }
    #商城信息
    MALL = {
    'file':'trolley',
    'name':'trolley',
    'path' : "%sdocs"%BASE_DIR
    }
  • 相关阅读:
    发一段非万能的sql分页代码
    手机版的首页不能翻页,用的是UC7.1
    关于Enterprise library logging中一个没搞明白的东西,希望有大大们进来帮忙释疑一下, THKS
    关于CodeSmith主模板与子模板同时从一个基类继承后的参数传值问题(提供模板下载)
    golang 去除字符串首尾空格
    构建一个SDK的打印信息
    PeekMessage抓取消息,如何把每个消息都获取到呢?
    DirectDraw学习 之 入门(二)
    20111121 —— wince6.0 BSP 里面加了 locale 后编译 failed 之解决办法
    DirectDraw学习 之 编译自带的sample代码
  • 原文地址:https://www.cnblogs.com/hqd2008/p/7749352.html
Copyright © 2020-2023  润新知