作业需求:
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用户登录
这里就不详说了