title: Python学习day5作业
tags: python
author: Chinge Yang
date: 2017-01-27
---
Python学习day5作业
@(学习)[python]
[TOC]
ATM和购物商城
作业需求
ATM:
- 指定最大透支额度
- 可取款
- 定期还款(每月指定日期还款,如15号)
- 可存款
- 定期出账单
- 支持多用户登陆,用户间转帐
- 支持多用户
- 管理员可添加账户、指定用户额度、冻结用户等
购物车:
- 商品信息- 数量、单价、名称
- 用户信息- 帐号、密码、余额
- 用户可充值
- 购物历史信息
- 允许用户多次购买,每次可购买多件
- 余额不足时进行提醒
- 用户退出时 ,输出当次购物信息
- 用户下次登陆时可查看购物历史
- 商品列表分级显示
1. 程序说明
购物商城实现功能如下:
- [x] 博客
- [x] 多用户登录
- [x] 商品按二级菜单显示
- [x] 充值功能
- [x] 多次购买,每次购买多件
- [x] 余额不足提示充值
- [x] 可查看购物历史
ATM实现功能如下:
- [x] 指定最大透支额度
- [x] 可取款
- [ ] 定期还款(每月指定日期还款,如15号)
- [x] 可存款
- [x] 定期出账单
- [x] 支持多用户登陆,用户间转帐
- [x] 支持多用户
- [x] 管理员可添加账户、指定用户额度、冻结用户等
ygqygq2的博客地址
作业地址:https://git.oschina.net/ygqygq2/python_homework/tree/master/day5作业
2. 基本流程图
3. 程序测试帐号
用户/密码:
ATM普通用户:1000/abc、1001/1001
ATM管理用户:admin/abc
购物商城:test/test
4. 程序结构:
.
├── Atm # ATM主程目录
│ ├── __init__.py
│ ├── api # ATM程序API目录
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ ├── __init__.cpython-35.pyc
│ │ │ └── pay1.cpython-35.pyc
│ │ └── pay.py # ATM支付api
│ ├── bin # ATM执行文件目录
│ │ ├── __init__.py
│ │ ├── atm.py # ATM执行程序,普通用户登录入口
│ │ └── manager.py # ATM管理员登录入口
│ ├── conf # ATM配置目录
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ ├── __init__.cpython-35.pyc
│ │ │ └── settings.cpython-35.pyc
│ │ └── settings.py # ATM配置文件
│ ├── core # ATM主要逻辑程序目录
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ ├── __init__.cpython-35.pyc
│ │ │ ├── accounts.cpython-35.pyc
│ │ │ ├── auth.cpython-35.pyc
│ │ │ ├── bill_date.cpython-35.pyc
│ │ │ ├── db_handler.cpython-35.pyc
│ │ │ ├── logger.cpython-35.pyc
│ │ │ ├── main.cpython-35.pyc
│ │ │ └── transaction.cpython-35.pyc
│ │ ├── accounts.py # 用于从文件里加载和存储账户数据
│ │ ├── auth.py # 用于帐户认证和帐户操作
│ │ ├── bill_date.py # 根据年-月,生成帐单起止时间模块
│ │ ├── db_handler.py # 数据库连接引擎
│ │ ├── logger.py # 日志记录模块
│ │ ├── main.py # 主逻辑程序
│ │ └── transaction.py # 记账\还钱\取钱等所有的与账户金额相关的操作模块
│ ├── db # 用户数据存储目录
│ │ ├── __init__.py
│ │ ├── account_sample.py # 生成一个初始的账户数据 ,把这个数据存成一个以这个账户id为文件名的文件,放在accounts目录就行了,程序自己去会这里找
│ │ └── accounts # 存各个用户的账户数据,一个用户一个文件
│ │ ├── 1000.json # 一个普通用户账户文件
│ │ └── admin.json # 一个管理员用户示例文件
│ ├── docs # 程序说明文档目录
│ │ └── __init__.py
│ └── log # 日志根目录
│ ├── __init__.py
│ ├── access.log # 用户访问和操作的相关日志
│ ├── accounts # 存各个用户的帐单数据,一个用户一个文件
│ │ └── 1000.bills # 一个普通用户的帐单文件
│ └── transactions.log # 所有的交易还款等日志
├── README.md # readme文件
└── Shopping_mall # 购物商城程序目录
├── bin # 购物商城执行文件目录
│ ├── __init__.py
│ └── shopping_mall.py # 购物商城入口程序
├── conf # 购物商城配置目录
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-35.pyc
│ │ ├── goods.cpython-35.pyc
│ │ └── settings.cpython-35.pyc
│ ├── goods.py # 购物商城商品价格列表
│ └── settings.py # 购物商城配置文件
├── core # 购物商城主要逻辑程序目录
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-35.pyc
│ │ ├── accounts.cpython-35.pyc
│ │ ├── auth.cpython-35.pyc
│ │ ├── db_handler.cpython-35.pyc
│ │ ├── logger.cpython-35.pyc
│ │ ├── main.cpython-35.pyc
│ │ └── shopping.cpython-35.pyc
│ ├── accounts.py # 用于从文件里加载和存储账户数据
│ ├── auth.py # 用于帐户认证和帐户操作
│ ├── db_handler.py # 数据库连接引擎
│ ├── logger.py # 日志记录模块
│ └── main.py # 主逻辑程序
├── db # 用户数据存储目录
│ └── accounts # 存各个用户的账户数据,一个用户一个文件
│ ├── __init__.py
│ └── test.json # 一个普通用户账户文件
└── log
├── access.log # 用户访问和操作的相关日志
└── test_shopping.log # 用户购物历史日志
5. 程序测试
管理员登录失败
python Atm/bin/manager.py
```
ATM admin manager
account:a
password:a
Account [a] does not exist!
account:a
password:a
Account [a] does not exist!
account:a
password:a
Account [a] does not exist!
201