本系统全部用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相关推荐

  1. python多线程详解_python基础:python多线程详解

    前言 多线程类似于同时执行多个不同程序,多线程运行有如下优点:使用线程可以把占据长时间的程序中的任务放到后台去处理. 用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进 ...

  2. python变量详解_python基础教程-03-变量详解

    变量就像一个小罐子,里面是存放着各种数据类型的数据,并且在程序运行过程中会发生变化.变量名在一个工作空间内是唯一的,通过变量的名字就能找到对应的数据. 变量的赋值 变量的赋值就可以理解为往小罐子里存放 ...

  3. python atm作业详解_Python小案例--ATM系统

    今天偶尔在知乎上看到某大佬用Python写的ATM系统案例,然后观摩了下他的实现思路和源码,感觉受益颇多.于是就根据自己的思路和目前掌握的Python编程基础将ATM实现了一下,以下是案例解析的过程: ...

  4. python atm作业详解_python day4 作业 ATM

    作业需求 指定最大透支额度 可取款 定期还款(每月指定日期还款,如15号) 可存款 定期出账单 支持多用户登陆,用户间转帐 支持多用户 管理员可添加账户.指定用户额度.冻结用户等 目录结构如下: AT ...

  5. python average函数详解_python基础之函数详解

    Python基础之函数详解 一.函数的定义 到现在为止,我们已经掌握了Python的基本语法和数据类型等相关基础知识了,以进行一个项目的编写了,这个时候,就会发现,很多代码需要我们进行复制粘贴,这简直 ...

  6. python数据库环境详解_python中MySQL数据库相关操作

    一 安装基本环境 1 简介 MySQL 基于TCP 协议之上的开发,但是网络连接后,传输的数据必须遵循MySQL的协议,封装好MySQL协议的包,就是驱动程序 MySQL 的驱动 MySQLDB 最有 ...

  7. python录音详解_python音频处理的示例详解

    准备工作: 首先,我们需要 import 几个工具包,一个是 python 标准库中的 wave 模块,用于音频处理操作,另外两个是 numpy 和 matplot,提供数据处理函数. 一:读取本地音 ...

  8. python凯撒密码详解_Python基础题目集--课堂案例

    这些案例均为在校期间学习<python基础编程>课程的案例,适合初学者练手~ 1.输入分数,返回等级 ''' 分数区间为0~100,等级:A(>=90).B(>=80).C(& ...

  9. python自定义函数详解_python基础教程之自定义函数介绍

    函数最重要的目的是方便我们重复使用相同的一段程序. 将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句. 函数的定义 首先,我们要定义一个函数, 以 ...

  10. python雷达图详解_Python基础教程 - matplotlib实现雷达图和柱状图

    原标题:Python基础教程 - matplotlib实现雷达图和柱状图 Python基础教程记录 - 使用matplotlib实现雷达图和柱状图. 注:主要是设置add_subplot(133),分 ...

最新文章

  1. python批处理修改文件的名字
  2. Java队列学习第一篇之列介绍
  3. mysql 20小时内_生产环境删除数据库,如何实现在1小时内快速恢复?
  4. 84. Leetcode 70. 爬楼梯 (动态规划-基础题)
  5. [转]清除mysql表中数据
  6. 域名商2014年度报告:中国数据域名总量跌至22万
  7. Go语言技术教程:Redis介绍安装和使用
  8. deprecated conversion from string constant to ‘char*’
  9. 企业的培训体系:145页企业培训年度规划和培训体系的建立
  10. Python中TypeError: ‘str‘ object is not callable
  11. knewone最新分享购物网站模板
  12. 土豆视频ipad 5.0 客户端
  13. s3c2440移植Linux内核,移植Linux-3.4.2内核到S3C2440
  14. 计算机专业主要学什么?
  15. 橘红色html语言,橘红色调色概念和调配方法!
  16. 全媒体时代下高校思想政治教育目标应坚持的原则
  17. SAMBA远程访问AirDisk,不用经过官方服务器就可以远程访问
  18. 博物馆逛不完、记不住?扩展现实(XR)技术来帮你!
  19. 16WiFi上海开通:5487辆公交车覆盖免费WiFi
  20. mybatis 一对多映射 xml

热门文章

  1. 2021全球国际化大学排名出炉,这所中国高校喜提世界第一!
  2. Linux 设备模型
  3. 初学Jmeter的摘抄学习总结----------基础知识篇
  4. xmlns:app=http://schemas.android.com/apk/res-auto
  5. img加载在IE11,chrome,FF下的不同
  6. SQL——Hibernate SQL增删改查
  7. [转载]jQuery操作Table学习总结
  8. Finite State Transducers 详解
  9. GCC图神经网络预训练概述
  10. python根据文件名列表筛选满足条件的文件