ATM项目

目录框架

bin
	start.py
conf
	settings.py
core
	src.py
interface
	user_interface.py
	shop_interface.py
	bank_interface.py
	admin_interface.py
lib
	common.py
readme
requirements

start.py 启动文件

import os
import sys

base_dir = os.path.dirname(os.path.dirname(__file__))
sys.path.append(base_dir)  # 将获取到的项目目录加入到系统环境变量  保证兼容性

if __name__ == '__main__':
    from core import src

    src.run()

src.py 用户交互层

定义ATM所需功能函数 函数功能字典 以及运行函数
def register():pass
def login():pass
def check_balance():pass
def withdraw():pass
def pay_back():pass
def transfer():pass
def water_flow():pass
def add_shop_car():pass
def show_shop_car():pass
def pay_shop_car():pass
def admin():pass
func_dict = {
    '1': register,
    '2': login,
    '3': check_balance,
    '4': withdraw,
    '5': pay_back,
    '6': transfer,
    '7': water_flow,
    '8': add_shop_car,
    '9': show_shop_car,
    '10': pay_shop_car,
    '11': admin
}
def run():
    while True:
        print("""
        1.注册功能
        2.登录功能
        3.查看余额
        4.提现功能
        5.还款功能
        6.转账功能
        7.查看流水
        8.添加购物车
        9.查看购物车
        10.结算购物车
        11.管理员功能""")
        choice_num = input('请输入您想执行的功能编号>>>:').strip()
        if choice_num in func_dict:
            func_dict[choice_num]()
        else:
            print('您输入的编号暂无功能')

简单的框架编写好后编写函数具体功能

注册功能

# 1.获取用户输入得到相关数据

# 2.用户两次输入的密码 判断

# 3.简单的两次密码判断 不相等直接停止函数 相等执行第二层核心代码 并接受第二层的返回值

# 4.密码一致后判断用户是否存在 由此引申出-->需要db目录路径 然后用户文件需要进行拼接 用户相关数据增改查删在第三层 也就是可以直接新增db_handler.py在这里进行用户文件的查询 存储

# 5.由于db目录路径每次拼接用户路径都需要是固定的 将它放置在配置文件

# 6.在第三层编写 用户读取的代码

# 8.判断用户路径是否存在  存在返回该字典  不存在 默认返回None

# 9.判断是否接受到字典

# 12.密码得加密  为了之后其他数据也要加密 做成函数  放在公共功能

# 10.定义用户字典

# 11.存储用户数据第三层再次定义存储用户信息的函数

登录功能

# 1.获取用户输入得到相关数据
# 2.直接调用第二层核心代码 并接受返回值
# 3.查询输入的用户存不存在
# 4.字典存在从而判断密码是否相等  注册时密码加密处理  登录也得做加密
# 5.接受完值 如果登录成功 得记录状态 为之后的购物车 银行相关操作做准备

查看余额

# 1.查看当前用户余额前得登录   在不改变调用与源代码的情况得用装饰器  装饰器公共功能  查看余额余额又是另一个业务接口 不在用户接口了得在银行接口
# 2.获取用户字典

提现功能

# 1.提现功能 获取要提现的金额
# 2.提现的金额得做判断是否是小数或者整数 调用第二层代码
# 3.获取的金额是否符合条件  之后相关功能也需要判断 也得做成函数 放在公共功能  
# 4.判断金额是否符合  可以使用异常捕获
# 5.获取用户字典 并获取用户余额
# 6.判断提现金额 与 用户余额   提现通常都需要手续费  手续费 又是可更改的可以放在配置文件中
# 用户余额足够提现金额加手续费 则扣除 并重新存储字典

充值功能

# 1.还款功能 也就是充值 获取充值金额
# 2.也得做判断充值金额是否符号条件 调用第二层
# 3.同提现功能 充值金额做判断
# 4.符合条件后 获取用户字典
# 5.修改字典余额
# 6.重新存储字典

转账功能

# 1.转账功能 先获取接受金额的人 和 转账的金额
# 2.调用第二层
# 3.获取接收人的用户字典
# 4.判断转账金额是否符合条件
# 5.代码能够执行到这就可以读取转账的人的字典 并扣除转账金额 并重新存储   接收人也得更改

添加流水功能

# 1.查看流水 直接调用第二层代码层
# 2.获取当前用户 用户字典
# 判断流水 列表是否有值
# 判断返回的值是否成立
# 成立 遍历数据并打印
# 不成立 直接打印结果
# 3.在第二层核心代码层 添加流水  并思考日志配置
# 4.流水添加成功后运行测试下 是否 成功  并添加日志  并运行测试

购物车

添加购物车代码全在第二层 购物车返回值格式化输出无值直接输出结果

结算购物车全在第二层  

原文地址:http://www.cnblogs.com/qian-yf/p/16846151.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性