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 - 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 - 计算器

四、参考站点

武sir的计算器源码

五、代码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容