zoukankan      html  css  js  c++  java
  • 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
    }
  • 相关阅读:
    一个iOS程序员眼中的跨域问题
    web 大规模并发访问的解决方案
    修改Capfile,在正式环境不再使用migration修改数据库
    关于 CAS 不能登录的问题
    老项目占地比较大的原因是release文件夹里有.git 目录
    capistrano3.4.0部署不能自动登录
    capistrano/blob/v3.4.0部署
    私有方法的查找方式
    开启关闭功能没有生效的原因
    找不到Settings
  • 原文地址:https://www.cnblogs.com/hqd2008/p/7749352.html
Copyright © 2011-2022 走看看