模拟实现一个ATM + 购物商城程序

Posted 缪阿布

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模拟实现一个ATM + 购物商城程序相关的知识,希望对你有一定的参考价值。

作业需求:

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用户登录

这里就不详说了

  

以上是关于模拟实现一个ATM + 购物商城程序的主要内容,如果未能解决你的问题,请参考以下文章

python基础作业------模拟实现一个ATM + 购物商城程序

模拟实现一个ATM + 购物商城程序

Python__模拟实现一个ATM+购物商城程序

模拟实现一个ATM + 购物商城程序

模拟实现ATM与购物商城

模拟实现一个ATM+购物商城程序