python atm详解_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' : "%s\db"%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' : "%s\logs"%BASE_DIR
}
#日志信息--账户信息记录
logfile1 = {
'file':'trans',
'name':'transaction',
'path' : "%s\logs"%BASE_DIR
}
#购物车相关信息
SHOP = {
'file':'mall',
'name':'mall',
'path' : "%s\docs"%BASE_DIR
}
#商城信息
MALL = {
'file':'trolley',
'name':'trolley',
'path' : "%s\docs"%BASE_DIR
}
python atm详解_python基础之ATM-1相关推荐
- python多线程详解_python基础:python多线程详解
前言 多线程类似于同时执行多个不同程序,多线程运行有如下优点:使用线程可以把占据长时间的程序中的任务放到后台去处理. 用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进 ...
- python变量详解_python基础教程-03-变量详解
变量就像一个小罐子,里面是存放着各种数据类型的数据,并且在程序运行过程中会发生变化.变量名在一个工作空间内是唯一的,通过变量的名字就能找到对应的数据. 变量的赋值 变量的赋值就可以理解为往小罐子里存放 ...
- python atm作业详解_Python小案例--ATM系统
今天偶尔在知乎上看到某大佬用Python写的ATM系统案例,然后观摩了下他的实现思路和源码,感觉受益颇多.于是就根据自己的思路和目前掌握的Python编程基础将ATM实现了一下,以下是案例解析的过程: ...
- python atm作业详解_python day4 作业 ATM
作业需求 指定最大透支额度 可取款 定期还款(每月指定日期还款,如15号) 可存款 定期出账单 支持多用户登陆,用户间转帐 支持多用户 管理员可添加账户.指定用户额度.冻结用户等 目录结构如下: AT ...
- python average函数详解_python基础之函数详解
Python基础之函数详解 一.函数的定义 到现在为止,我们已经掌握了Python的基本语法和数据类型等相关基础知识了,以进行一个项目的编写了,这个时候,就会发现,很多代码需要我们进行复制粘贴,这简直 ...
- python数据库环境详解_python中MySQL数据库相关操作
一 安装基本环境 1 简介 MySQL 基于TCP 协议之上的开发,但是网络连接后,传输的数据必须遵循MySQL的协议,封装好MySQL协议的包,就是驱动程序 MySQL 的驱动 MySQLDB 最有 ...
- python录音详解_python音频处理的示例详解
准备工作: 首先,我们需要 import 几个工具包,一个是 python 标准库中的 wave 模块,用于音频处理操作,另外两个是 numpy 和 matplot,提供数据处理函数. 一:读取本地音 ...
- python凯撒密码详解_Python基础题目集--课堂案例
这些案例均为在校期间学习<python基础编程>课程的案例,适合初学者练手~ 1.输入分数,返回等级 ''' 分数区间为0~100,等级:A(>=90).B(>=80).C(& ...
- python自定义函数详解_python基础教程之自定义函数介绍
函数最重要的目的是方便我们重复使用相同的一段程序. 将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句. 函数的定义 首先,我们要定义一个函数, 以 ...
- python雷达图详解_Python基础教程 - matplotlib实现雷达图和柱状图
原标题:Python基础教程 - matplotlib实现雷达图和柱状图 Python基础教程记录 - 使用matplotlib实现雷达图和柱状图. 注:主要是设置add_subplot(133),分 ...
最新文章
- python批处理修改文件的名字
- Java队列学习第一篇之列介绍
- mysql 20小时内_生产环境删除数据库,如何实现在1小时内快速恢复?
- 84. Leetcode 70. 爬楼梯 (动态规划-基础题)
- [转]清除mysql表中数据
- 域名商2014年度报告:中国数据域名总量跌至22万
- Go语言技术教程:Redis介绍安装和使用
- deprecated conversion from string constant to ‘char*’
- 企业的培训体系:145页企业培训年度规划和培训体系的建立
- Python中TypeError: ‘str‘ object is not callable
- knewone最新分享购物网站模板
- 土豆视频ipad 5.0 客户端
- s3c2440移植Linux内核,移植Linux-3.4.2内核到S3C2440
- 计算机专业主要学什么?
- 橘红色html语言,橘红色调色概念和调配方法!
- 全媒体时代下高校思想政治教育目标应坚持的原则
- SAMBA远程访问AirDisk,不用经过官方服务器就可以远程访问
- 博物馆逛不完、记不住?扩展现实(XR)技术来帮你!
- 16WiFi上海开通:5487辆公交车覆盖免费WiFi
- mybatis 一对多映射 xml
热门文章
- 2021全球国际化大学排名出炉,这所中国高校喜提世界第一!
- Linux 设备模型
- 初学Jmeter的摘抄学习总结----------基础知识篇
- xmlns:app=http://schemas.android.com/apk/res-auto
- img加载在IE11,chrome,FF下的不同
- SQL——Hibernate SQL增删改查
- [转载]jQuery操作Table学习总结
- Finite State Transducers 详解
- GCC图神经网络预训练概述
- python根据文件名列表筛选满足条件的文件