python买东西_Python实战之ATM+购物车
學(xué)python一個月以來的第一個工程級別項目!!!!!
1.首先分析項目需求:
模擬實現(xiàn)一個ATM + 購物商城程序
額度 15000或自定義---->注冊功能
實現(xiàn)購物商城,買東西加入 購物車,調(diào)用信用卡接口結(jié)賬----->購物車,支付
可以提現(xiàn),手續(xù)費5%----->提現(xiàn)
支持多賬戶登錄----->登錄
支持賬戶間轉(zhuǎn)賬----->轉(zhuǎn)賬
記錄日常消費流水----->記錄流水
提供還款接口---->還款
ATM記錄操作日志---->日志
提供管理接口,包括添加賬戶、凍結(jié)賬戶等。。。---->管理接口,添加,凍結(jié)賬戶
用戶認證用裝飾器------>裝飾器
用軟件功能表達就是:
1、登錄
2、注冊
3、查看余額
4、轉(zhuǎn)賬
5、還款
6、取款
7、查看流水
8、購物
9、查看購買商品
2.設(shè)計程序以及程序的架構(gòu)
購物車架構(gòu)圖
通過架構(gòu)圖來設(shè)計軟件:
程序結(jié)構(gòu)
3.程序結(jié)構(gòu):
ATM:程序的根目錄
conf:配置文件
setting:放置配置文件,日志字典,日志與db路徑
core:核心代碼
src.py:核心功能的主體代碼,為用戶展示功能以及讓用戶選擇,并與用戶交互,接收用戶輸入的數(shù)據(jù)
在取款/轉(zhuǎn)賬/購物完成以后可以在后面加上將此信息加入到該賬戶的流水(用戶接口層注冊里面的bankflow)列表中去.
db:數(shù)據(jù)操作
db_handler.py:數(shù)據(jù)處理層,里面包含兩種方法:save(),傳入用戶信息字典,存入硬盤..select():傳入姓名,若用戶存在,返回用戶信息字典,若不存在,返回False
wzj.json:存放wzj用戶信息的文件,包含內(nèi)容{用戶名,密碼,余額,信用卡額度,交易流水,購物車信息,是否鎖定}
inter_face:接口層
bank.py:銀行接口,包含方法有:
withdraw_interface(money):取款接口:調(diào)用src里的登錄用戶的賬戶名通過調(diào)用db_handler.select方法查詢到用戶全部信息,更改完余額以后再調(diào)用db_handler.save方法重新存入文件
transfer_interface(add_name, money),轉(zhuǎn)賬接口
check_balance_interface(),擦看余額接口
check_record_interface(),查看流水接口
user.py:用戶接口,包含兩個方法
1.用戶注冊時傳入的賬號密碼,通過調(diào)用db_handler里的方法判斷,若賬戶不存在,則寫入文件,若存在,則返回用戶名已存在,,,,
2.登錄時傳入用戶名與密碼,通過調(diào)用db_handler里的方法與數(shù)據(jù)庫中的信息匹配
lib:庫
common.py:存放常用的函數(shù),當(dāng)作模塊給其他文件調(diào)用
log:存放日志文件
readme:軟件說明書
start.py:程序入口
4.主要代碼
bank-->取款接口
轉(zhuǎn)賬接口
用戶接口
數(shù)據(jù)操作,用于讀寫數(shù)據(jù)
5.購物與支付
在src文件里取到合法的購物車信息與商品總價格后,傳入購物車接口,通過調(diào)用bank里面的支付接口判斷,若余額足夠則購買成功,否則返回余額不足
src里的購物代碼
購物車接口
總結(jié)!!!
ATM的他的精髓就在于整個軟件分為三層,,用戶交互層,只負責(zé)接收合法數(shù)據(jù)傳入接口層,接口層只負責(zé)處理數(shù)據(jù),數(shù)據(jù)處理層只負責(zé)處理數(shù)據(jù),這樣擴展性極強,,比如我現(xiàn)在是在cmd里運行,如果移植到前端或者安卓里,只需要修改下用戶交互層就可以
注意:用戶交互層不能直接修改數(shù)據(jù),只能通過調(diào)用接口,讓接口負責(zé)修改數(shù)據(jù)
總結(jié)
以上是生活随笔為你收集整理的python买东西_Python实战之ATM+购物车的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IDEA Tomcat Catalina
- 下一篇: django 默认查询条件_Python