ATM:模拟实现一个ATM + 购物商城程序
额度 15000或自定义
实现购物商城,买东西加入 购物车,调用信用卡接口结账
可以提现,手续费5%
支持多账户登录
支持账户间转账
记录每月日常消费流水
提供还款接口
ATM记录操作日志
提供管理接口,包括添加账户、用户额度,冻结账户等。。。
用户认证用装饰器
文件结构:
Atm
--bin ---logon.py ...登录入口
--conf---initialize.py ...初始化商店商品
---goods.conf ...存储商品信息
--core---admin.py ...管理员接口
---idcard.py ...ATM接口
---main.py . ...登录门户
---shopping.py ...购物商店
--db ---dbinfo.py ...读写用户信息接口
---username.dir ...存储用户信息
---username.bak
---username.dat
--log ---record.py ...读写ATM操作日志
---username.log ...ATM操作日志
readme:
已存在用户:zhuhuan,密码123
管理员登录:admin/admin
使用注册注册账号,直接登录使用已存在用户,管理员账号密码只能在管理员的功能中使用
调用关系:
logon.py中的logo()调用main.py中的face()
face()调用admin.py中的admin();
idcard.py中的atm;
shopping中的shop()
admin()调用本文件内的build(新建账号),write_off(注销账号),freeze(冻结账号),unfreeze(解冻账号),chance(修改额度)
atm() 调用本文件内的repay(还款),withdrawals(提现),transfer(转账),调用log中的record.py中的logs记录操作日志
shop() 调用idcard.py中的pay_bill()结账
log中记录ATM操作日志
conf中记录商店商品
db中记录用户信息
atm()中有装饰器deco,用于判断在调用atm时是否使用登录接口登录过.
流程图:
bin 下的logon.py:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#!/usr/bin/env python # -*-coding:utf-8-*- # Author:zh import sys,os sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) import core we=core.main.Welcome() #入口方法 def logo(): info = '''