作者:JiawuZhang

出品:JiawuLab(ID:jiawulab)微项目系列是JiawuLab原创栏目,每期选取一个自创项目或发现有趣的项目,进行代码、逻辑分析,达到python学习目的。

大家好,我是JiawuZhang,本期微项目是——双十一优惠计算器。

上期分享的微项目——情话多说一点,您看过吗?如果感兴趣,传送门:JiawuZhang:Python微项目分享之情话多说一点​zhuanlan.zhihu.com

项目介绍

今天晚上就是双十一啦,真是一个激动人心的时刻。

但是最近很多人都很苦恼,都在做着计算工作。

比如,网络上流传这些图:

光手写,再用计算器,都得弄半天啊。

我家的那位也不例外,算一遍不行,再算一遍,夸张点说,计算器都快按坏两个了。

什么参加活动的满400-50,不参加活动的只有店铺活动,

什么凌晨一点前拍满400-50,后面又变化

还有定金的算一部分,抢购的另算一部分

还要统计用几张优惠券。。。听完这些,我头也快晕了。

与其这么复杂,还不如只统计满400-50的有多少,需要多少优惠券呢

于是,我就用python写了个小程序,来做这个事。

先放出动图,大家看看:

分析过程

首先我们要定义四个分类,'服饰鞋帽'、'食品日用'、 '宝宝用品'、 '其他'

然后对每个分类进行循环输入

最后系统统计出结果,直接就能看到需要多少张优惠券,如下图所示

码代码

过程分析后,我们来分步进行

1、定义区

# 分类categories

categories = ['服饰鞋帽', '食品日用', '宝宝用品', '其他']

# 定义字典

data = {i: 0 for i in categories}

# 定义总计变量

total = 0

2、某个分类循环输入

str = '请选择需要输入哪个分类?\n1、服饰鞋帽 2、食品日用 3、宝宝用品 4、其他\n请填入数字1-4 >>>'

choice = int(input(str))

cate = categories[choice - 1]

while True:

money = input(f'{cate}分类:请直接输入商品金额,或回复"n"退出:')

if money == "n":

print(f'退出 {cate}分类\n')

break

else:

data[cate] += float(money)

3、最后的统计代码

for da in data:

print('%s 分类花费金额为:%.2f元' % (da, data[da]))

total += data[da]

print('\n总共需要花费:%.2f元' % total)

x = int(total/400)

print(f'可用%i张优惠券\n优惠金额为:%i元' % (x, x*50))

print(f'实际花费:%.2f元' % (total-x*50))

代码解释一下:

"data"字典是为了将各分类的金额做统计,方便后面计算,

“{i: 0 for i in categories}” 这是一种简洁的写法,相当于:

data = {}

for i in categories:

data[i] = 0

后面的代码都比较简单,如果你发现看不懂的,可以给我留言。

完整代码

上面分步骤解释过了,现在放上完整版的代码,如下:

# coding=utf-8

# filename: 1111.py

categories = ['服饰鞋帽', '食品日用', '宝宝用品', '其他']

data = {i: 0 for i in categories}

total = 0

print('欢迎来到双十一优惠统计系统!\n')

while True:

choice = int(input('请选择需要输入哪个分类?\n1、服饰鞋帽 2、食品日用 3、宝宝用品 4、其他\n请填入数字1-4 >>>'))

cate = categories[choice - 1]

while True:

money = input(f'{cate}分类:请直接输入商品金额,或回复"n"退出:')

if money == "n":

print(f'退出 {cate}分类\n')

break

else:

data[cate] += float(money)

cx = input('还需要填写其他分类吗?直接回车键继续,或者回复"n"退出:')

if cx == 'n':

print('退出输入系统')

break

print('\n经过电脑分析,结果如下:')

for da in data:

print('%s 分类花费金额为:%.2f元' % (da, data[da]))

total += data[da]

print('\n总共需要花费:%.2f元' % total)

x = int(total/400)

print(f'可用%i张优惠券\n优惠金额为:%i元' % (x, x*50))

print(f'实际花费:%.2f元' % (total-x*50))

是不是很简单,因为是临时给老婆写的程序,并没有做成函数方式

功能也很简单,你可以改下代码,让程序更符合你的想法,源代码直接复制下来就能运行了。

祝愿大家在双十一都能满载而归,用最合理的优惠,买到最多的东西。

本次的微项目——双十一优惠计算器——分享结束。如果您喜欢这期文章,请麻烦点赞,支持一下。

欢迎您关注公众号:JiawuLab,或者给我留言,说说你遇到的问题,我们一起探讨。

python商品会员打折_Python微项目分享之双十一优惠计算器相关推荐

  1. python商品会员打折_双十一商品优惠打折,用Python爬取商品信息分析发现这里套路真深...

    咱们今天就以京东笔记本电脑为例分析一下 首先咱们针对京东商城笔记本的网页进行分析,这回只要在网页源码上分析,就可以获取笔记本价格.标题.评论数.商家名称.商家性质. 想要学习Python.关注小编,私 ...

  2. python倒计时60_Python微项目分享之事件倒计时

    作者:JiawuZhang 出品:JiawuLab(ID:jiawulab)微项目系列是JiawuLab原创栏目,每期选取一个自创项目或发现有趣的项目,进行代码.逻辑分析,达到python学习目的. ...

  3. python倒计时60,Python微项目分享之重要事件倒计时

    作者:JiawuZhang出品:JiawuLab(ID:jiawulab) 微项目系列是JiawuLab原创栏目,每期选取一个自创项目或发现有趣的项目,进行代码.逻辑分析,达到python学习目的. ...

  4. python硬件创意_创意DIY项目分享(3)

    分享社区收集的创意DIY项目,希望通过这些有趣的DIY项目,扩展大家的视野,启发思维.也欢迎大家到社区分享自己的DIY项目,交流DIY心得和制作技巧. Circuit Playground 星星树 使 ...

  5. python求线段长度_python微元法计算函数曲线长度的方法

    计算曲线长度,根据线积分公式: ,令积分函数f(x,y,z) 为1,即计算曲线的长度,将其微元化: 其中 根据此时便可在python编程实现,给出4个例子,代码中已有详细注释,不再赘述 ''' 计算曲 ...

  6. python print怎么用_Python学习路线分享Beeprint怎么用

    Python学习路线分享Beeprint怎么用,beeprint:让你的调试打印更友好 推荐一个国人的开源项目 beeprint,可以更加漂亮的打印你的调试信息.对标Python标准库的pprint. ...

  7. Python + Vue + D3 数据分析及可视化项目分享

    2022/11/10 声明 (这篇文章居然被下架了-) 这个项目只是以 GTD 数据库为例做数据的统计及可视化,不涉及对任何具体事件的分析和评论,希望能恢复发表! 前言 这个项目是BIT软件工程专业数 ...

  8. python微信聊天机器人_python实战项目,使用itchat模块制作微信聊天机器人

    前言 对于咱们热爱折腾的青年来说,经常会有很多好玩的新奇创意想法,可是,有时候就缺少一个接口,实现交互.比如说,咱们博客的 python实战项目,有些的确比较好玩,但是似乎只能在电脑上跑跑程序,怎么运 ...

  9. python爬虫金融数据_python爬虫项目-爬取雪球网金融数据(关注、持续更新)

    (一)python金融数据爬虫项目 爬取目标:雪球网(起始url:https://xueqiu.com/hq#exchange=cn&firstname=1&secondname=1_ ...

最新文章

  1. HUMAnN2:人类微生物组统一代谢网络分析2
  2. 社会工程学到底有多可怕
  3. datatables ajax刷新数据
  4. 《WCF技术剖析(卷2)》目录
  5. 重磅新作!预训练语言模型入门必读好书 | 送书福利
  6. pcm压缩 java,Java C.PcmEncoding方法代码示例
  7. 基因编辑婴儿追踪:该被编辑的是我们的心
  8. Django:MySQL查询结果为datetime.date无法转换为JSON
  9. 解决requests.text乱码问题content.decode()
  10. mysql 密码sa_重置MySQL root密码
  11. CAS方式实现单点登录
  12. mac下免费svn工具
  13. 二级考试内容之C和Python
  14. android nmea 工具,android – 如何从nmea句子信息计算以米为单位的gps准确度
  15. 带参数矩阵求逆(matlab)
  16. ipython怎么念_如何读取IPython%prun(profiler)命令的输出? - python
  17. php表单设置出生日期,纯JS实现出生日期[年月日]下拉菜单效果_茜茜_前端开发者...
  18. Tina-TI电路仿真初体验(德州仪器电路仿真软件)
  19. java 版 mc 手柄_我的世界Java版21w06a
  20. 逃出你的肖申克(二):你的灯亮着吗?

热门文章

  1. 为什么大多数编程语言性能对比都有问题?
  2. AspectJ在Android 中的使用攻略
  3. 人工智能将是人类最后的需要 | 大咖来了
  4. Kaggle 年度报告出炉:数据科学家年轻高学历,薪资近百万
  5. 瞧瞧,这样的代码才叫 Pythonic
  6. 华为9月将带来鸿蒙系统2.0;张勇任阿里巴巴董事长后发布首封致股东信;iOS 14首个公测版发布​| 极客头条
  7. “原本我不会在拼多多购物,但它补贴实在太多了”
  8. 利用 50 行 Python 代码构建一个在线文本生成器!
  9. 深度学习如何有效攻克鲁棒性的场景重建难题?
  10. 我跟 17 位顶级游戏策划人学到的 3 个产品方法论