- 实际应用场景描述
场景
小李是一名程序员,身边有很多朋友、同事和亲戚陆续结婚。每次收到婚礼邀请,他都要:
- 思考适合的祝福语(短信或红包)。
- 挑选合适的礼物(预算有限,又不能失礼)。
- 记录婚礼的时间、地点,并设置提醒。
- 避免忘记参加婚礼的尴尬。
痛点
- 祝福语千篇一律,缺乏个性化。
- 礼物选择困难,担心不合适。
- 时间安排混乱,容易错过婚礼。
- 手动记录繁琐,容易遗漏。
-
核心逻辑讲解
-
输入新人关系(朋友/同事/亲戚)。
-
祝福语生成:根据关系匹配不同的祝福模板,并随机组合。
-
红包祝福语:根据关系生成适合的红包文案。
-
礼物推荐:根据关系和预算推荐礼物类别。
-
婚礼记录:存储婚礼时间、地点、备注。
-
提醒功能:使用 "datetime" 和 "time" 模块设置提前提醒。
-
数据持久化:使用 JSON 文件保存婚礼记录。
-
模块化代码结构
wedding_helper/ │ ├── main.py # 主程序入口 ├── blessings.py # 祝福语生成模块 ├── gifts.py # 礼物推荐模块 ├── wedding_records.py # 婚礼记录管理模块 ├── reminder.py # 提醒功能模块 ├── utils.py # 工具函数 └── README.md # 项目说明
- 核心代码实现
"blessings.py"
import random
FRIEND_BLESSINGS = [ "愿你们的爱情如星辰般永恒,幸福美满!", "祝你们携手共度每一个春夏秋冬,白头偕老!" ]
COLLEAGUE_BLESSINGS = [ "事业爱情双丰收,祝你们幸福美满!", "愿你们在工作中默契,在生活中甜蜜!" ]
RELATIVE_BLESSINGS = [ "天作之合,百年好合!", "愿你们的家庭充满爱与温暖!" ]
def generate_blessing(relation): if relation == "朋友": return random.choice(FRIEND_BLESSINGS) elif relation == "同事": return random.choice(COLLEAGUE_BLESSINGS) elif relation == "亲戚": return random.choice(RELATIVE_BLESSINGS) else: return "祝你们幸福美满!"
def generate_red_packet_message(relation): messages = { "朋友": "友谊长存,幸福加倍!", "同事": "工作顺利,爱情甜蜜!", "亲戚": "亲情永驻,幸福安康!" } return messages.get(relation, "新婚快乐,幸福美满!")
"gifts.py"
BUDGET_GIFTS = { "朋友": ["定制相册", "情侣马克杯", "香薰蜡烛"], "同事": ["高档钢笔", "保温杯", "桌面绿植"], "亲戚": ["茶具套装", "床上四件套", "餐具礼盒"] }
def recommend_gift(relation, budget_level="medium"): gifts = BUDGET_GIFTS.get(relation, []) if budget_level == "low": return gifts[:1] elif budget_level == "high": return gifts + ["珠宝饰品", "旅行券"] else: return gifts
"wedding_records.py"
import json import os
RECORD_FILE = "wedding_records.json"
def load_records(): if os.path.exists(RECORD_FILE): with open(RECORD_FILE, "r", encoding="utf-8") as f: return json.load(f) return []
def save_records(records): with open(RECORD_FILE, "w", encoding="utf-8") as f: json.dump(records, f, ensure_ascii=False, indent=4)
def add_wedding(name, date, location, relation): records = load_records() records.append({"name": name, "date": date, "location": location, "relation": relation}) save_records(records)
def list_weddings(): return load_records()
"reminder.py"
import time from datetime import datetime
def set_reminder(wedding_time, message): wedding_dt = datetime.strptime(wedding_time, "%Y-%m-%d %H:%M") now = datetime.now() delta = (wedding_dt - now).total_seconds() if delta > 0: print(f"提醒将在 {delta} 秒后触发...") time.sleep(delta) print(f"⏰ 提醒:{message}") else: print("婚礼时间已过!")
"main.py"
from blessings import generate_blessing, generate_red_packet_message from gifts import recommend_gift from wedding_records import add_wedding, list_weddings from reminder import set_reminder
def main(): print("=== 婚礼祝福助手 ===") name = input("请输入新人姓名:") relation = input("请选择关系(朋友/同事/亲戚):") date = input("请输入婚礼时间(YYYY-MM-DD HH:MM):") location = input("请输入婚礼地点:")
# 添加记录
add_wedding(name, date, location, relation)
# 祝福语
print("\n祝福短信:", generate_blessing(relation))
print("红包祝福语:", generate_red_packet_message(relation))
# 礼物推荐
print("礼物推荐:", recommend_gift(relation))
# 设置提醒
set_reminder(date, f"{name} 的婚礼即将开始!地点:{location}")
if name == "main": main()
- README.md
婚礼祝福助手
一个帮助您快速生成婚礼祝福、推荐礼物、记录婚礼信息并设置提醒的Python工具。
功能
- 根据关系生成祝福语和红包文案
- 推荐合适的结婚礼物
- 记录婚礼时间、地点
- 自动提醒婚礼时间
使用方法
- 安装 Python 3.x
- 运行
python main.py - 按提示输入信息
文件结构
main.py主程序blessings.py祝福语生成gifts.py礼物推荐wedding_records.py婚礼记录reminder.py提醒功能
- 核心知识点卡片
知识点 说明 模块化设计 将功能拆分到不同文件,便于维护 随机模块 "random.choice()" 用于随机选择祝福语 JSON 文件操作 用于数据持久化存储 时间处理 "datetime" 和 "time" 用于提醒功能 字典与列表 存储关系与对应数据
- 总结
这个婚礼祝福助手通过模块化设计实现了祝福语生成、礼物推荐、婚礼记录与提醒功能,解决了人们在婚礼季的多个痛点。
如果你愿意,可以去把这个项目打包成 可执行文件(.exe) 并加上图形界面(GUI),这样非程序员也能直接使用。
利用AI解决实际问题,如果你觉得这个工具好用,欢迎关注长安牧笛!