zoukankan      html  css  js  c++  java
  • 模拟实现一个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用户登录
    
    这里就不详说了
    

      

  • 相关阅读:
    Python2.7-zlib
    Python2.7-sqlite3
    Python2.7-dbm、gdbm、dbhash、bsddb、dumbdb
    Python2.7-anydbm
    Python2.7-marshal
    Python2.7-shelve
    Python2.7-copy_reg
    Python2.7-pickle, cpickle
    Python2.7-shutil
    Python2.7-fnmacth
  • 原文地址:https://www.cnblogs.com/mologa-jie/p/7257491.html
Copyright © 2011-2022 走看看