python商品会员打折_Python微项目分享之双十一优惠计算器
作者: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微项目分享之双十一优惠计算器相关推荐
- python商品会员打折_双十一商品优惠打折,用Python爬取商品信息分析发现这里套路真深...
咱们今天就以京东笔记本电脑为例分析一下 首先咱们针对京东商城笔记本的网页进行分析,这回只要在网页源码上分析,就可以获取笔记本价格.标题.评论数.商家名称.商家性质. 想要学习Python.关注小编,私 ...
- python倒计时60_Python微项目分享之事件倒计时
作者:JiawuZhang 出品:JiawuLab(ID:jiawulab)微项目系列是JiawuLab原创栏目,每期选取一个自创项目或发现有趣的项目,进行代码.逻辑分析,达到python学习目的. ...
- python倒计时60,Python微项目分享之重要事件倒计时
作者:JiawuZhang出品:JiawuLab(ID:jiawulab) 微项目系列是JiawuLab原创栏目,每期选取一个自创项目或发现有趣的项目,进行代码.逻辑分析,达到python学习目的. ...
- python硬件创意_创意DIY项目分享(3)
分享社区收集的创意DIY项目,希望通过这些有趣的DIY项目,扩展大家的视野,启发思维.也欢迎大家到社区分享自己的DIY项目,交流DIY心得和制作技巧. Circuit Playground 星星树 使 ...
- python求线段长度_python微元法计算函数曲线长度的方法
计算曲线长度,根据线积分公式: ,令积分函数f(x,y,z) 为1,即计算曲线的长度,将其微元化: 其中 根据此时便可在python编程实现,给出4个例子,代码中已有详细注释,不再赘述 ''' 计算曲 ...
- python print怎么用_Python学习路线分享Beeprint怎么用
Python学习路线分享Beeprint怎么用,beeprint:让你的调试打印更友好 推荐一个国人的开源项目 beeprint,可以更加漂亮的打印你的调试信息.对标Python标准库的pprint. ...
- Python + Vue + D3 数据分析及可视化项目分享
2022/11/10 声明 (这篇文章居然被下架了-) 这个项目只是以 GTD 数据库为例做数据的统计及可视化,不涉及对任何具体事件的分析和评论,希望能恢复发表! 前言 这个项目是BIT软件工程专业数 ...
- python微信聊天机器人_python实战项目,使用itchat模块制作微信聊天机器人
前言 对于咱们热爱折腾的青年来说,经常会有很多好玩的新奇创意想法,可是,有时候就缺少一个接口,实现交互.比如说,咱们博客的 python实战项目,有些的确比较好玩,但是似乎只能在电脑上跑跑程序,怎么运 ...
- python爬虫金融数据_python爬虫项目-爬取雪球网金融数据(关注、持续更新)
(一)python金融数据爬虫项目 爬取目标:雪球网(起始url:https://xueqiu.com/hq#exchange=cn&firstname=1&secondname=1_ ...
最新文章
- HUMAnN2:人类微生物组统一代谢网络分析2
- 社会工程学到底有多可怕
- datatables ajax刷新数据
- 《WCF技术剖析(卷2)》目录
- 重磅新作!预训练语言模型入门必读好书 | 送书福利
- pcm压缩 java,Java C.PcmEncoding方法代码示例
- 基因编辑婴儿追踪:该被编辑的是我们的心
- Django:MySQL查询结果为datetime.date无法转换为JSON
- 解决requests.text乱码问题content.decode()
- mysql 密码sa_重置MySQL root密码
- CAS方式实现单点登录
- mac下免费svn工具
- 二级考试内容之C和Python
- android nmea 工具,android – 如何从nmea句子信息计算以米为单位的gps准确度
- 带参数矩阵求逆(matlab)
- ipython怎么念_如何读取IPython%prun(profiler)命令的输出? - python
- php表单设置出生日期,纯JS实现出生日期[年月日]下拉菜单效果_茜茜_前端开发者...
- Tina-TI电路仿真初体验(德州仪器电路仿真软件)
- java 版 mc 手柄_我的世界Java版21w06a
- 逃出你的肖申克(二):你的灯亮着吗?
热门文章
- 为什么大多数编程语言性能对比都有问题?
- AspectJ在Android 中的使用攻略
- 人工智能将是人类最后的需要 | 大咖来了
- Kaggle 年度报告出炉:数据科学家年轻高学历,薪资近百万
- 瞧瞧,这样的代码才叫 Pythonic
- 华为9月将带来鸿蒙系统2.0;张勇任阿里巴巴董事长后发布首封致股东信;iOS 14首个公测版发布​| 极客头条
- “原本我不会在拼多多购物,但它补贴实在太多了”
- 利用 50 行 Python 代码构建一个在线文本生成器!
- 深度学习如何有效攻克鲁棒性的场景重建难题?
- 我跟 17 位顶级游戏策划人学到的 3 个产品方法论