news 2026/6/16 15:57:45

编写朋友生日提醒助手,录入朋友生日,联系方式,自动生成生日祝福短信/微信模板,提前提醒生日,还能推荐合适的生日礼物,避免忘记朋友生日,维护友情。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
编写朋友生日提醒助手,录入朋友生日,联系方式,自动生成生日祝福短信/微信模板,提前提醒生日,还能推荐合适的生日礼物,避免忘记朋友生日,维护友情。

1. 实际应用场景描述

场景

小王是一名职场人,朋友很多,但工作忙碌,经常忘记朋友的生日。

每次想发祝福时,要么太晚,要么祝福语千篇一律,甚至不知道送什么礼物合适。

他希望有一个工具能帮他:

- 记录朋友的生日和联系方式

- 自动生成个性化的生日祝福短信/微信模板

- 提前提醒他准备祝福和礼物

- 推荐合适的生日礼物,避免踩雷

痛点

- 忘记生日 → 影响友情

- 祝福语单调 → 缺乏心意

- 礼物选择困难 → 怕不合适

- 手动记录麻烦 → 容易丢失

2. 核心逻辑讲解

1. 录入朋友信息(姓名、生日、联系方式、关系)

2. 祝福语生成:根据关系(死党/普通朋友/同事)生成不同风格的祝福模板

3. 礼物推荐:根据关系+预算推荐礼物类别

4. 提前提醒:在生日前 N 天提醒用户

5. 数据持久化:用 JSON 文件存储朋友信息

6. 主程序交互:菜单式操作,方便使用

3. 模块化代码结构

birthday_helper/

├── main.py # 主程序入口

├── friends.py # 朋友信息管理

├── blessings.py # 祝福语生成

├── gifts.py # 礼物推荐

├── reminder.py # 提醒功能

├── utils.py # 工具函数

└── README.md # 项目说明

4. 核心代码实现

"friends.py"

import json

import os

FILE = "friends.json"

def load_friends():

if os.path.exists(FILE):

with open(FILE, "r", encoding="utf-8") as f:

return json.load(f)

return []

def save_friends(data):

with open(FILE, "w", encoding="utf-8") as f:

json.dump(data, f, ensure_ascii=False, indent=4)

def add_friend(name, birthday, contact, relation):

friends = load_friends()

friends.append({"name": name, "birthday": birthday, "contact": contact, "relation": relation})

save_friends(friends)

def list_friends():

return load_friends()

"blessings.py"

import random

TEMPLATES = {

"死党": [

"兄弟/姐妹,生日快乐!愿你每天都笑得像今天一样灿烂!",

"认识你是我最大的幸运,生日快乐,永远年轻!"

],

"普通朋友": [

"祝你生日快乐,愿你心想事成,幸福满满!",

"愿你的每一天都充满阳光与欢笑,生日快乐!"

],

"同事": [

"祝你生日快乐,工作顺利,生活愉快!",

"愿你在工作和生活中都能收获满满的幸福!"

]

}

def generate_blessing(relation):

return random.choice(TEMPLATES.get(relation, TEMPLATES["普通朋友"]))

"gifts.py"

GIFT_LIST = {

"死党": ["定制相册", "手写信", "旅行体验券"],

"普通朋友": ["书籍", "香薰蜡烛", "保温杯"],

"同事": ["高档笔记本", "桌面绿植", "咖啡礼盒"]

}

def recommend_gift(relation):

return GIFT_LIST.get(relation, GIFT_LIST["普通朋友"])

"reminder.py"

from datetime import datetime, timedelta

def check_upcoming_birthdays(days_before=3):

today = datetime.today()

friends = __import__('friends').load_friends()

for f in friends:

bday = datetime.strptime(f["birthday"], "%Y-%m-%d")

# 今年生日

bday_this_year = bday.replace(year=today.year)

if bday_this_year < today:

bday_this_year = bday_this_year.replace(year=today.year + 1)

days_left = (bday_this_year - today).days

if 0 < days_left <= days_before:

print(f"⏰ 提醒:{f['name']} 的生日还有 {days_left} 天!")

"main.py"

from friends import add_friend, list_friends

from blessings import generate_blessing

from gifts import recommend_gift

from reminder import check_upcoming_birthdays

def main():

while True:

print("\n=== 朋友生日提醒助手 ===")

print("1. 添加朋友生日")

print("2. 查看所有朋友")

print("3. 生成祝福语")

print("4. 推荐礼物")

print("5. 检查近期生日")

print("0. 退出")

choice = input("请选择操作:")

if choice == "1":

name = input("姓名:")

birthday = input("生日(YYYY-MM-DD):")

contact = input("联系方式:")

relation = input("关系(死党/普通朋友/同事):")

add_friend(name, birthday, contact, relation)

print("✅ 添加成功!")

elif choice == "2":

for f in list_friends():

print(f)

elif choice == "3":

name = input("朋友姓名:")

relation = input("关系:")

print("祝福语:", generate_blessing(relation))

elif choice == "4":

relation = input("关系:")

print("礼物推荐:", recommend_gift(relation))

elif choice == "5":

check_upcoming_birthdays()

elif choice == "0":

break

else:

print("无效选择")

if __name__ == "__main__":

main()

5. README.md

# 朋友生日提醒助手

一个帮助您记录朋友生日、生成祝福语、推荐礼物并提前提醒的Python工具。

## 功能

- 录入朋友生日和联系方式

- 自动生成个性化祝福语

- 推荐合适的生日礼物

- 提前提醒生日

## 使用方法

1. 安装 Python 3.x

2. 运行 `python main.py`

3. 按菜单提示操作

## 文件结构

- `main.py` 主程序

- `friends.py` 朋友信息管理

- `blessings.py` 祝福语生成

- `gifts.py` 礼物推荐

- `reminder.py` 提醒功能

6. 核心知识点卡片

知识点 说明

JSON 数据存储 用于持久化朋友信息

随机数选择

"random.choice()" 生成多样化祝福

日期处理

"datetime" 计算距离生日的天数

模块化编程 分文件管理不同功能

用户交互 菜单式命令行界面

7. 总结

这个 朋友生日提醒助手 解决了忘记生日、祝福语单调、礼物选择困难等问题,并且通过模块化设计让代码易于维护和扩展。

如果你愿意,可以在下一步:

- 增加 微信/短信自动发送 功能(调用 API)

- 做成 桌面 GUI 应用(用 Tkinter 或 PyQt)

- 打包成 Windows 可执行文件

利用AI解决实际问题,如果你觉得这个工具好用,欢迎关注长安牧笛!

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

2026爆火AI论文工具榜单|避开智商税,这几款免费工具本科生闭眼冲

2026年的论文季&#xff0c;AI工具早已不是“作弊神器”的代名词&#xff0c;而是本科生的学术生产力加速器&#xff01;经过100真实论文实测&#xff0c;我整理出这份避坑指南免费神器榜单&#xff0c;PaperRed和毕业之家两大本土王牌领衔&#xff0c;还有多款免费工具让你从选…

作者头像 李华
网站建设 2026/6/11 11:14:26

赶deadline必备! 降AI率平台 千笔·专业降AI率智能体 VS 文途AI

在AI技术迅速发展的今天&#xff0c;越来越多的学生和研究者开始借助AI工具辅助论文写作&#xff0c;以提高效率、优化内容。然而&#xff0c;随着各大查重系统对AI生成内容的识别能力不断提升&#xff0c;AI率超标问题日益凸显&#xff0c;成为影响论文通过率的关键障碍。无论…

作者头像 李华
网站建设 2026/6/14 5:33:10

模型、框架、应用量产工作流,原力灵机三箭齐发,开启具身智能元年

2 月 10 日&#xff0c;以“具身原生”为主题的原力灵机技术开放日在北京中关村展示中心举行。在这场被称为“最硬核的具身产品发布会”上&#xff0c;原力灵机一举发布三大核心产品&#xff1a;全球首个具身原生大模型 DM0、具身原生开发框架 Dexbotic 2.0、以及具身原生应用量…

作者头像 李华
网站建设 2026/6/10 13:02:18

COMSOL固态纳米孔稳态仿真

comsol固态纳米孔稳态仿真深夜的实验台前&#xff0c;咖啡杯沿残留着干涸的褐色痕迹。我盯着屏幕上跳动的收敛曲线&#xff0c;突然意识到纳米孔仿真就像煮泡面——火候差一点就糊锅。COMSOL的模型树此刻在蓝光中闪烁&#xff0c;仿佛在嘲笑我的天真。打开模型树第一件事&#…

作者头像 李华
网站建设 2026/6/14 20:13:54

小白程序员转行AI产品经理的必看实战经验分享

本文分享了作者从计算机专业转行AI产品经理的经历&#xff0c;从投递各大互联网公司受挫&#xff0c;意识到AI产品需求旺盛 背景&#xff1a; &#x1f31f;学历&#xff1a;211硕士 &#x1f31f;****专业&#xff1a;计算机专业 &#x1f31f;****性别&#xff1a;男 &#x…

作者头像 李华