Day05 - 作业

作业:ATM

一、作业要求:模拟实现一个ATM + 购物商城程序

额度15000或自定义
实现购物商城,买东西加入购物车,调用信用卡接口结账
可以提现,手续费5%
支持多账户登录
支持账户间转账
记录每月日常消费流水
提供还款接口
ATM记录操作日志
提供管理接口,包括添加账户、用户额度,冻结账户等。。。
用户认证用装饰器

二、简单思路

  1. 先实现ATM的大部分功能,再去实现购物商城的接口调用。
  2. 功能实现需按照ATM的角色定义,分步实现。
角色:
        管理员
                1.添加账户✔️
                2.用户额度✔️
                3.冻结账户✔️
                4.解冻账户✔️
        普通用户
                1.可以提现,手续费5%✔️
                2.支持多账户登录✔️
                3.支持账户间转账✔️
                4.记录每月日常消费流水✔️
                5.提供还款接口✔️
                6.ATM记录操作日志✔️
实现购物商城,买东西加入购物车,调用信用卡接口结账✔️
用户认证用装饰器:管理员和普通用户进入不同的操作界面✔️
目录
│  shopping.py    商城代码文件
│  will.json    商城试用账户
│
├─bin    执行文件(无业务逻辑)
│      atm.py
│
├─conf    配置文件夹
│  │  settings.py    配置文件
│  │
│  └─__pycache__
│
├─core    业务逻辑
│  │  accounts.py    账户相关操作
│  │  admin.py        管理员相关操作
│  │  logger.py        日志相关操作
│  │  login.py        登录相关操作
│  │  main.py        主业务
│  │  transaction.py    交易相关操作
│  │
│  └─__pycache__
│
├─db 数据目录
│  │  sample.py    账户建立模版
│  │
│  ├─accounts    账户信息
│  │      admin.json        管理员账户信息
│  │
│  └─__pycache__
│
└─log  日志目录

三、流程图

Day05 - 作业_第1张图片
Day05 - Atm

四、参考站点

  1. Alex的示例代码
  2. logging 重复写日志问题

五、代码


作业:计算器

一、作业要求:模拟计算器开发:

实现加减乘除及拓号优先级解析
用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-25/3 + 7 /399/42998 +10 * 568/14 )) - (-43)/ (16-32) )等类似公式后,必须自己解析里面的(),+,-,,/符号和公式(不能调用eval等类似功能偷懒实现),运算后得出结果,结果必须与真实的计算器所得出的结果一致

二、简单思路

  1. 用正则表达式从左至右寻找,找到第一个被括号包含且内部不再有括号的算式。
  2. 用函数计算加减乘除,计算括号内的算式,并将结果替换回算式
  3. 当不再有括号时,用函数计算整个算式。

三、流程图

Day05 - 作业_第2张图片
Day05 - 计算器

四、参考站点

武sir的计算器源码

五、代码

你可能感兴趣的:(Day05 - 作业)