首页 > 其他分享 >10月31日

10月31日

时间:2022-10-31 18:34:07浏览次数:43  
标签:10 功能 调用 src 31 购物车 interface 输入

目录

要求博客中用文字描述出每个功能的逻辑

三层框架简介

1、第一层(src.py)

功能展示和数据获取层,顾名思义打印数据或是获取用户输入

2、第二层(interface文件夹下内容)

一类功能可以归类到一个py文件中,提供接口文件供第一层调用,使用中会调用到第三层

3、第三层(db_hanlder)

存放一些对数据库进行操作的功能,供第二层调用

启动函数

放在src中

1、整理出一个功能字典,启动代码的时候通过功能字典中的标号来选择执行的功能

2、判断一下用户输入是否在范围内(字典内的标号),如果在的话就调用对应函数

用户注册功能

src层获取输入,并且打印输出结果,主体的判断功能放到interface中的user_interface中,src中调用获取结果。

功能:

判断用户输入的数据是否符合格式

判断两次密码是否一致

判断用户名是否已被注册

如果没有上面的情况就写入数据到数据库保存起来

用户登录

src层获取输入,并且打印输出结果,主体的判断功能放到interface中的user_interface中,src中调用获取结果。

功能:

判断用户输入的数据是否符合格式

判断数据库中是否有这个用户(是否已经注册)

判断密码是否正确

如果上面条件都符合就在src中定义一个变量记录登陆的用户名称,方便后面的功能调用

查看余额

src中调用interface文件夹中的文件,查看当前登陆用户的余额,src中接收返回值并打印结果

账户提现

src中获取用户输入(提现数量),interface文件中执行判断和操作,结果返回src中输入打印。

功能:

判断输入的数据是否符合格式

判断用户中的余额是否足够提现(加上手续费)

如果上面条件都符合了,就当成提现成功,修改数据库中的数据值

充值功能

src中获取充值的金额,其他功能也是放到interface中执行,结果返回src中输入打印。

功能:

先判断输入的值是否符合格式

接下来就是充值,把结果写到数据库文件中去

转账功能

src中获取转账对象和金额,其他功能也是放到interface中执行,结果返回src中输入打印。

功能:

先判断转账对象名称和金额的输入是否符合格式

接着判断转账对象是否存在(已经注册)

接着判断转账金额是否足够

如果上述条件都符合,那就直接转账返回结果并写入数据库中

查看账单

src因为只能放输入输出,而输入账单信息需要调用第三层的操作数据库的代码,因此整体功能放到第二次,第一层就留一个调用interface函数的操作。

功能:

调用第三层的代码获取账单信息,然后格式化输出结果

购物车功能

添加购物车

src中格式化输出商品信息,获取用户需要购买的商品编号和数量,接着调用接口层的功能函数来判断并返回结果输出。

功能:

先判断用户的输入是否符合格式

接着判断用户选择的编号是否在范围内

接着再判断数据库中的购物车中是否有内容,如果有就加到小字典中进来

最后实现连续添加的时候是先添加到小字典中

只有在提出的时候才会写入数据库中的

结算购物车

src文件中调用interface中的函数,然后输出结果

功能:

先根据用户名获取购物车中的信息,然后根据价格和数量统计总价进行结算,如果用户余额不足以支付,就提示,否则就扣款清空购物车保存到数据库中

查看购物车

src中还是调用interface中的函数,然后输出结果

功能:

根据用户名调用第三层函数获取购物车信息,然后格式化输出

清空购物车

src中还是调用interface中的函数,然后输出结果

功能:

根据用户名调用第三层函数获取购物车信息,然后情况内容再写入数据库中保存

修改购物车

因为要获取购物车中的信息,涉及到了第三层的函数所以所有功能都扔到第二层(输出输入的时候反正都是一个窗口看不出来)

功能:

先获取数据库中的购物车信息,然后格式化输出

接着获取用户输入(需要修改的商品信息和修改后的数量)

判断输入格式是否正确

接着把修改后的数量写到、数据库文件中,如果数量为0 可以直接删除键值对

管理员功能

在用户的数据库文件中设置一个is_lock键值对,值是布尔值,如果为True则不能进行金钱相关操作

还可以设置提现时候手续费的利率

可以修改商品价格和信息


标签:10,功能,调用,src,31,购物车,interface,输入
From: https://www.cnblogs.com/zhihuanzzh/p/16845296.html

相关文章

  • 51Nod-1003-阶乘后面0的数量
    这道题网上已经有很多博客了,但是都没讲清楚,想明白后遂做此记录。阶乘后面0的数量,乘起来是以0结尾,只能是​​2x5​​​,说0结尾的走开。而2的数量肯定比5多不,所以只要计算5......
  • 2022.10.21----vscode-自定义事件
     vscode预览模式关闭,就能打开新标签页(43条消息)vscode新窗口打开文件-CSDN (43条消息)如何在vscode中打开新文件夹不覆盖上一个窗口标签_发呆的薇薇°的博客-......
  • windows10卸载vmware workstation
    在应用与功能里面,vmware的卸载选项是禁用的,而点击修改,却也弹出了报错,似乎无法直接卸载。网上大多说需要下载一个WindowsInstallerCleanUP之类的软件,但又对那种未知来源的......
  • STMicroelectronics STM32F103C8
    STMicroelectronics STM32F103C8ARMCortex-M3,72MHz,64kBROM,20kBRAMSTMicroelectronics'STM32F1seriesofmainstreamMCUscoverstheneedsofalar......
  • 2022-10-31 删除无法删除的文件夹or文件
    新建.txt文件,复制下面代码:DEL/F/A/Q\\?\%1RD/S/Q\\?\%1把.txt文件改名为.bat,保存。拖动该文件到你想要的文件夹or文件上面,松开鼠标。然后再删除。我试了,没用!......
  • linux安装python3.10
    1.下载python包https://www.python.org/ftp/python/3.10.5/Python-3.10.5.tgz2.安装依赖包yuminstall-ygccpatchlibffi-develpython-develzlib-develbzip2-dev......
  • git上传大小超过100M文件(gitee)
    文章目录   安装LFS   开启LFS功能   选择文件类型   配置远程仓库   上传大文件   报LFS错今天上传项目文件到gitee上面,出现错误remote:error:......
  • 帝国CMS:自动审核插件服务器定时审核时报错“curl: (28) Connection timed out after 1
    使用自动审核插件,在服务器定时审核时报错“curl:(28)Connectiontimedoutafter10001milliseconds”;  一般此种情况是因为防火墙问题限制了。解决方法:1.在浏览......
  • 【1031】
    481. 神奇字符串神奇字符串 s 仅由 '1' 和 '2' 组成,并需要遵守下面的规则:神奇字符串s的神奇之处在于,串联字符串中 '1' 和 '2' 的连续出现次数......
  • 力扣HOT100算法题5:最长回文字串
    文章目录​​一、题目​​​​二、方法一:解题思路​​​​三、方法一:代码解析​​​​四、方法二:动态规划​​​​五、方法二:代码解析​​一、题目给你一个字符串s,找到s......