作业需求:
1、额度 15000或自定义 2、实现购物商城,买东西加入 购物车,调用信用卡接口结账 3、可以提现,手续费5% 4、每月22号出账单,每月10号为还款日,过期未还,按欠款总额 万分之5 每日计息 5、支持多账户登录 6、支持账户间转账 7、记录每月日常消费流水 8、提供还款接口 9、ATM记录操作日志 10、提供管理接口,包括添加账户、用户额度,冻结账户等 11、用户认证用装饰器
ATM交易中心:
def make_transaction(arg, tran_type, amount, *args): if tran_type == ‘change‘: #修改密码 …… if tran_type == ‘save‘: #存款 …… if tran_type == ‘withdraw‘: #取款 …… if tran_type == ‘transfer_accounts‘: #转账 …… def repayment(arg): user = user_info(arg) user_row = user_rows(arg) user_assets = user[3] user_repayment = abs(user[9]) if user_repayment == user_assets: …… elif user_repayment > user_assets: …… else: …… a_log(arg,message) #写入日志 return result
用户认证用装饰器:
def login(func): def inner(*args,**kwargs): info = settings.user_info(username) if info: _password = info[2] global user_status if user_status == False: if settings.getpasswd(password) == _password: print("welcome login....") user_status = True else: print("wrong username or password!") if user_status == True: return func(*args,**kwargs) else: print("用户不存在 ") return inner @login def atm(username,userpassword): print("欢迎登录海盗船!") print(settings.user_message(username)) ……
测试:
----------首页---------- 请输入用户名:mologa 欢迎登录海盗船! ---------------------------mologa个人账户信息:---------------------------- 卡号 | 资产 | 时间 | 贷款 622022002002002000 | 233.0 | 17-07-29 20:08:02 | 0.0 ----------------------------------------------------------功能栏----------------------------------------------------------- ‘1.转账‘ | ‘2.存款‘ | ‘3.修改密码‘ | ‘4.取款‘ | ‘5.商城‘ | ‘6.日志‘ | ‘7.个人信息‘ | ‘8.还款‘ | ‘9.退出‘ 请选择你需要操作的编号:1 请输入转账用户的id或者用户名:miaosx 请输入转账金额:2 余额:231.0 ----------------------------------------------------------功能栏----------------------------------------------------------- ‘1.转账‘ | ‘2.存款‘ | ‘3.修改密码‘ | ‘4.取款‘ | ‘5.商城‘ | ‘6.日志‘ | ‘7.个人信息‘ | ‘8.还款‘ | ‘9.退出‘ 请选择你需要操作的编号:5 ---------------------Credit card mall!---------------------- 0 . 母婴用品 0 . [‘帮宝适‘, 45.9, 50] 1 . [‘美素佳儿‘, 380, 10] 1 . 电子产品 0 . [‘mac‘, 7500, 7] 1 . [‘iphone7‘, 5400, 5] 2 . [‘thunder‘, 7600, 3] 2 . 摩托汽车 0 . [‘特斯拉‘, 820000, 2] 1 . [‘雷克萨斯Rx450‘, 450000, 5] 3 . 日常用品 0 . [‘东北大米‘, 38.5, 20] 1 . [‘上海青‘, 3.6, 47] 一输入你想购买的商品类别编号:3 0 [‘东北大米‘, 38.5, 20] 1 [‘上海青‘, 3.6, 47] 三输入你想购买的商品编号:1 四请输入你想要购买的商品数量:1 您购买 上海青 ,单价 3.60 数量为1 ;共计花费:3.60 重新请输入y,退出请输入nn 欢迎下次光临! ----------------------------------------------------------功能栏----------------------------------------------------------- ‘1.转账‘ | ‘2.存款‘ | ‘3.修改密码‘ | ‘4.取款‘ | ‘5.商城‘ | ‘6.日志‘ | ‘7.个人信息‘ | ‘8.还款‘ | ‘9.退出‘ 请选择你需要操作的编号:7 ---------------------------mologa个人账户信息:---------------------------- 卡号 | 资产 | 时间 | 贷款 622022002002002000 | 227.4 | 17-07-29 20:15:22 | 0.0 ----------------------------------------------------------功能栏----------------------------------------------------------- ‘1.转账‘ | ‘2.存款‘ | ‘3.修改密码‘ | ‘4.取款‘ | ‘5.商城‘ | ‘6.日志‘ | ‘7.个人信息‘ | ‘8.还款‘ | ‘9.退出‘ 请选择你需要操作的编号:6 请输入查询日期:[例如[17-07-29 20:15:26]{可缺省}]29 ‘17-07-29 00:53:59‘ ‘622022002002002000‘ 余额:192.0 ‘存款:5.00‘ …… ‘17-07-29 20:15:06‘ ‘622022002002002000‘ 余额:231.0 ‘转账:2.0转账对象:miaosx‘ ‘17-07-29 20:15:19‘ ‘622022002002002000‘ 余额:227.4 ‘消费:3.6您购买 上海青 ,单价 3.60 数量为1 ;共计花费:3.60‘ 继续请按yn ----------------------------------------------------------功能栏----------------------------------------------------------- ‘1.转账‘ | ‘2.存款‘ | ‘3.修改密码‘ | ‘4.取款‘ | ‘5.商城‘ | ‘6.日志‘ | ‘7.个人信息‘ | ‘8.还款‘ | ‘9.退出‘ 请选择你需要操作的编号:7 ---------------------------mologa个人账户信息:---------------------------- 卡号 | 资产 | 时间 | 贷款 622022002002002000 | 227.4 | 17-07-29 20:15:33 | 0.0 ----------------------------------------------------------功能栏----------------------------------------------------------- ‘1.转账‘ | ‘2.存款‘ | ‘3.修改密码‘ | ‘4.取款‘ | ‘5.商城‘ | ‘6.日志‘ | ‘7.个人信息‘ | ‘8.还款‘ | ‘9.退出‘ 请选择你需要操作的编号:9 欢迎再次光临!
Readme:
1) 测试环境:Win10系统 python3.5.2解释器 2) 存在系统用: 用户:mologa 密码:mologa 用户:yepp 密码:yepp 用户:miaosx 密码:miaosx 3) 用户信息数据存储在xls文件里 这里用yepp用户登录 这里就不详说了
时间: 2024-10-13 02:21:51