news 2026/4/23 17:56:57

开发超市临期商品折扣提醒程序,输入商品名称,保质期,自动提醒折扣时间,帮助消费者省钱。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
开发超市临期商品折扣提醒程序,输入商品名称,保质期,自动提醒折扣时间,帮助消费者省钱。

以下是为你开发的超市临期商品折扣提醒程序,包含模块化代码、README、使用说明和核心知识点卡片,帮你快速落地应用。

import datetime

class Product:

"""封装商品信息:名称、保质期"""

def __init__(self, name, expiry_date):

self.name = name

# 将字符串转为日期对象(格式YYYY-MM-DD)

self.expiry_date = datetime.datetime.strptime(expiry_date, "%Y-%m-%d").date()

def calculate_remaining_days(expiry_date):

"""计算商品剩余保质期天数(今日到保质期的天数)"""

today = datetime.date.today()

return (expiry_date - today).days

def get_discount_rate(remaining_days):

"""

根据剩余天数返回折扣率(规则可自定义):

- 剩余>7天:无折扣(1.0)

- 3<剩余≤7天:9折(0.9)

- 0<剩余≤3天:8折(0.8)

- 剩余=0天:5折(0.5)

- 剩余<0天:已过期(-1)

"""

if remaining_days > 7:

return 1.0

elif 3 < remaining_days <= 7:

return 0.9

elif 0 < remaining_days <= 3:

return 0.8

elif remaining_days == 0:

return 0.5

else:

return -1

def generate_reminder(product):

"""生成折扣提醒信息"""

remaining = calculate_remaining_days(product.expiry_date)

discount = get_discount_rate(remaining)

if discount == -1:

return f"【{product.name}】已过期,请勿购买!"

elif discount == 1.0:

return f"【{product.name}】距离保质期还有{remaining}天,暂无折扣。"

else:

discount_percent = int((1 - discount) * 100)

return f"【{product.name}】距离保质期还有{remaining}天,建议享{discount_percent}折优惠!"

def main():

"""主程序:处理用户输入与交互"""

print("欢迎使用超市临期商品折扣提醒程序!")

print("输入格式:商品名称,保质期(YYYY-MM-DD),输入q退出。")

while True:

user_input = input("\n请输入商品信息:").strip()

if user_input.lower() == 'q':

print("感谢使用,再见!")

break

parts = user_input.split(',')

if len(parts) != 2:

print("格式错误!请用逗号分隔(例:牛奶,2025-12-30)")

continue

name, expiry_str = parts[0].strip(), parts[1].strip()

try:

product = Product(name, expiry_str)

except ValueError:

print("保质期格式错!请用YYYY-MM-DD(例:2025-12-30)")

continue

print(generate_reminder(product))

if __name__ == "__main__":

main()

代码说明:

- 用

"Product"类封装商品信息,

"calculate_remaining_days"算剩余天数,

"get_discount_rate"定折扣规则,

"generate_reminder"出提醒。

- 处理了输入格式错误、过期商品等边界情况,直接复制可运行(Python 3.8+)。

超市临期商品折扣提醒程序README

简介

帮消费者跟踪商品保质期,自动计算临期折扣时间,提醒最佳购买时机省钱。

安装依赖

无需额外库,用Python 3.8+标准库即可。

使用方法

1. 运行:

"python discount_reminder.py"

2. 输入:

"商品名称,保质期(YYYY-MM-DD)"(例:面包,2025-12-28)

3. 查看:剩余天数+折扣建议

4. 退出:输入

"q"

功能

- 算剩余保质期天数

- 按规则推折扣(7天内9折、3天内8折、当天5折)

- 友好提示错误(格式/过期)

目录

-

"discount_reminder.py":主程序

使用说明

1. 准备环境

确认安装Python 3.8+(终端输

"python --version"查版本)。

2. 启动程序

打开终端→进程序目录→输

"python discount_reminder.py"。

3. 输入商品

"名称,YYYY-MM-DD"格式输(例:

"牛奶,2025-12-30"),错误会提示重试。

4. 看结果

- 已过期:

"【XX】已过期,请勿购买!"

- 无折扣:

"【XX】剩X天,暂无折扣"

- 有折扣:

"【XX】剩X天,建议享X折"

5. 退出

"q"回车结束。

核心知识点卡片

- Python datetime模块:处理日期时间,用

"strptime"转字符串为日期、

"today"取今日、

"(date1-date2).days"算天数差。

- 模块化设计:拆分成

"Product"类+功能函数(算天数、定折扣、生成提醒),提升可读性。

- 异常处理:用

"try-except"抓日期格式错,

"if"判剩余天数边界(如过期返回-1)。

- 函数复用:把单一功能封成函数(如

"get_discount_rate"统一算折扣),避免重复代码。

- 用户交互:清晰提示输入格式、错误反馈、简单退出机制(

"q"键)。

如需调整折扣规则,改

"get_discount_rate"函数即可;想加新功能(如保存记录),可扩展

"Product"类或加数据库模块。

关注我,有更多实用程序等着你!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 7:48:38

IDM使用完整指南:终极解决方案深度解析

IDM使用难题困扰着众多用户&#xff0c;特别是在新版本发布后传统使用方式失效的情况下。本文将从技术原理、场景适配、实操执行到效果验证&#xff0c;提供一套完整的IDM使用解决方案。 【免费下载链接】IDM-Activation-Script IDM Activation & Trail Reset Script 项目…

作者头像 李华
网站建设 2026/4/23 7:55:25

联想拯救者Y7000系列BIOS隐藏设置一键解锁:释放硬件全部潜能

联想拯救者Y7000系列BIOS隐藏设置一键解锁&#xff1a;释放硬件全部潜能 【免费下载链接】LEGION_Y7000Series_Insyde_Advanced_Settings_Tools 支持一键修改 Insyde BIOS 隐藏选项的小工具&#xff0c;例如关闭CFG LOCK、修改DVMT等等 项目地址: https://gitcode.com/gh_mir…

作者头像 李华
网站建设 2026/4/22 10:10:36

5分钟搞定TexText:Inkscape中LaTeX公式编辑的终极教程

还在为在矢量图形中插入复杂的数学公式而烦恼吗&#xff1f;TexText这款强大的Inkscape插件将彻底改变你的工作方式&#xff01;无论你是学术研究者、工程师还是教育工作者&#xff0c;只需5分钟就能掌握在Inkscape中完美编辑LaTeX公式的核心技巧。本文将带你从零开始&#xff…

作者头像 李华
网站建设 2026/4/23 7:50:39

GhostFrame钓鱼套件的技术机制与防御对策研究

摘要近年来&#xff0c;钓鱼即服务&#xff08;Phishing-as-a-Service, PhaaS&#xff09;模式的兴起显著降低了网络钓鱼攻击的技术门槛&#xff0c;使大规模、高仿真的社会工程攻击成为常态。2025年12月&#xff0c;Malwarebytes披露了一款名为GhostFrame的新型钓鱼套件&#…

作者头像 李华
网站建设 2026/4/23 7:52:27

微信小程序 uniapp+vue旅游餐饮美食订餐系统多商家分会员

文章目录具体实现截图主要技术与实现手段系统设计与实现的思路系统设计方法java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;具体实现截图 本系统&#xff08;程序源码数据库调试部署讲解&#xff09;带文档1万…

作者头像 李华