第27课:年龄判断机——判断年龄段并提供不同建议
🎯 本课目标
- 综合运用条件判断和嵌套知识
- 掌握多年龄段判断逻辑设计
- 学会根据年龄给出贴心建议
- 制作完整的年龄分析系统
- 处理生日计算和年龄推算
🤔 趣味引入:人生的"四季"
想象一下:人生就像一年四季,每个年龄段都有不同的特点和需求:
- 🌱 0-6岁(童年期)→ 天真烂漫,快乐成长
- 🌻 7-12岁(少儿期)→ 学习知识,培养兴趣
- 🌳 13-18岁(青春期)→ 探索自我,树立理想
- 🌾 19-30岁(青年期)→ 追逐梦想,奋斗事业
- 🍁 31-50岁(中年期)→ 承担责任,收获成果
- ❄️ 51岁以上(老年期)→ 享受生活,传承智慧
今天,让我们一起用Python制作智能年龄判断机,成为读懂人生的"小智者"!
🔧 第一部分:基础年龄判断
1.1 简单的年龄分段
# 基础年龄分段
print("🎯 基础年龄分段判断")
print("=" * 50)
def judge_age_group(age):
"""判断年龄所属阶段"""
if age < 0:
return "❌ 年龄不能为负数!"
elif age <= 3:
return "👶 婴儿期"
elif age <= 6:
return "🧒 幼儿期"
elif age <= 12:
return "👦 少儿期"
elif age <= 18:
return "🧑 青春期"
elif age <= 30:
return "👨 青年期"
elif age <= 50:
return "👨🦰 中年期"
elif age <= 70:
return "👴 中老年期"
else:
return "👵 老年期"
# 测试不同年龄
test_ages = [0, 3, 6, 12, 15, 18, 25, 35, 50, 65, 80, -5]
print("📋 年龄阶段对照表:")
print("-" * 40)
print(f"{'年龄':>6} {'阶段':>20}")
print("-" * 40)
for age in test_ages:
group = judge_age_group(age)
print(f"{age:>6}岁 {group:>20}")
print("-" * 40)
1.2 带描述的年龄判断
# 带描述的年龄判断
print("\n📝 带描述的年龄判断")
print("=" * 50)
def get_age_description(age):
"""获取年龄的详细描述"""
if age < 0:
return "❌ 无效年龄"
if age <= 1:
stage = "襁褓期"
description = "需要爸爸妈妈无微不至的照顾"
advice = "多睡觉,多喝奶,健康成长!"
emoji = "👶"
elif age <= 3:
stage = "学步期"
description = "正在学习走路和说话,对世界充满好奇"
advice = "多爬多走多探索,注意安全!"
emoji = "🚶"
elif age <= 6:
stage = "幼儿园期"
description = "开始接触集体生活,学习基本社交"
advice = "多和小朋友一起玩,培养好习惯!"
emoji = "🎨"
elif age <= 12:
stage = "小学期"
description = "正式进入学习阶段,培养学习兴趣"
advice = "认真学习,多读书,培养兴趣爱好!"
emoji = "📚"
elif age <= 15:
stage = "初中期"
description = "进入青春期,身体和心理都在快速成长"
advice = "好好学习,多运动,和父母多沟通!"
emoji = "📖"
elif age <= 18:
stage = "高中期"
description = "面临高考,为未来做规划"
advice = "努力学习,也要注意劳逸结合!"
emoji = "🎯"
elif age <= 22:
stage = "大学期"
description = "大学生活丰富多彩,是成长的黄金时期"
advice = "学好专业知识,多参加社团活动!"
emoji = "🎓"
elif age <= 30:
stage = "职场初期"
description = "步入社会,开始职业生涯"
advice = "努力工作,积累经验,也要注意健康!"
emoji = "💼"
elif age <= 40:
stage = "事业上升期"
description = "事业逐渐稳定,家庭责任加重"
advice = "平衡工作和家庭,关注身体健康!"
emoji = "🏆"
elif age <= 50:
stage = "成熟期"
description = "经验和智慧达到顶峰"
advice = "传承经验,享受成果,规划退休生活!"
emoji = "🌟"
elif age <= 65:
stage = "退休预备期"
description = "准备迎接退休生活"
advice = "培养兴趣爱好,为退休做准备!"
emoji = "🌺"
elif age <= 80:
stage = "老年期"
description = "享受悠闲的晚年生活"
advice = "保持乐观心态,适度运动,享受天伦之乐!"
emoji = "🌅"
else:
stage = "长寿期"
description = "人生的智者,见证了时代的变迁"
advice = "保重身体,分享人生智慧!"
emoji = "🎊"
return {
"age": age,
"stage": stage,
"description": description,
"advice": advice,
"emoji": emoji
}
# 交互式年龄判断
print("欢迎使用智能年龄判断机!")
print("=" * 40)
try:
user_age = float(input("请输入你的年龄:"))
if user_age < 0:
print("❌ 年龄不能为负数!")
elif user_age > 150:
print("❌ 请输入合理的年龄!")
else:
result = get_age_description(user_age)
print(f"\n{'='*50}")
print(f"{'📋 年龄分析报告':^50}")
print(f"{'='*50}")
print(f"\n🎂 年龄:{result['age']:.0f}岁")
print(f"📌 阶段:{result['emoji']} {result['stage']}")
print(f"💬 描述:{result['description']}")
print(f"💡 建议:{result['advice']}")
print(f"\n{'='*50}")
except ValueError:
print("❌ 请输入有效的数字!")
📊 第二部分:多维度年龄分析
2.1 年龄与生肖
# 年龄与生肖判断
print("\n🐉 年龄与生肖判断")
print("=" * 50)
def get_zodiac(year):
"""根据出生年份获取生肖"""
zodiacs = ["猴", "鸡", "狗", "猪", "鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊"]
return zodiacs[year % 12]
def get_zodiac_element(year):
"""获取生肖五行"""
elements = ["金", "水", "火", "土", "木"]
element_index = (year % 10) // 2
return elements[element_index]
def get_zodiac_compatibility(zodiac1, zodiac2):
"""获取生肖配对指数"""
compatible_pairs = {
("鼠", "牛"): "⭐⭐⭐⭐⭐",
("虎", "猪"): "⭐⭐⭐⭐⭐",
("兔", "狗"): "⭐⭐⭐⭐⭐",
("龙", "鸡"): "⭐⭐⭐⭐⭐",
("蛇", "猴"): "⭐⭐⭐⭐⭐",
("马", "羊"): "⭐⭐⭐⭐⭐",
}
pair = (zodiac1, zodiac2)
reverse_pair = (zodiac2, zodiac1)
if pair in compatible_pairs or reverse_pair in compatible_pairs:
return "⭐⭐⭐⭐⭐ 绝配!"
elif zodiac1 == zodiac2:
return "⭐⭐⭐⭐ 相合!"
else:
return "⭐⭐⭐ 一般"
# 交互式生肖查询
print("欢迎使用生肖查询系统!")
print("=" * 40)
try:
birth_year = int(input("请输入出生年份(如2012):"))
if birth_year < 1900 or birth_year > 2100:
print("❌ 请输入合理的年份!")
else:
zodiac = get_zodiac(birth_year)
element = get_zodiac_element(birth_year)
print(f"\n📋 生肖分析:")
print(f" 出生年份:{birth_year}年")
print(f" 生肖:{element} {zodiac}")
print(f" 性格特点:", end="")
# 根据生肖给出性格描述
zodiac_traits = {
"鼠": "聪明机智,善于交际",
"牛": "勤劳踏实,稳重可靠",
"虎": "勇敢自信,领导力强",
"兔": "温柔善良,心思细腻",
"龙": "充满活力,志向远大",
"蛇": "深思熟虑,智慧过人",
"马": "自由奔放,热情开朗",
"羊": "温和友善,艺术天赋",
"猴": "活泼好动,聪明伶俐",
"鸡": "勤奋守时,观察力强",
"狗": "忠诚可靠,正义感强",
"猪": "诚实善良,乐观豁达"
}
print(zodiac_traits.get(zodiac, "独特个性"))
# 配对测试
print(f"\n💕 配对测试:")
other_year = int(input("输入另一个人的出生年份:"))
if 1900 <= other_year <= 2100:
other_zodiac = get_zodiac(other_year)
compatibility = get_zodiac_compatibility(zodiac, other_zodiac)
print(f" {element}{zodiac} ♥ {get_zodiac_element(other_year)}{other_zodiac}")
print(f" 配对指数:{compatibility}")
except ValueError:
print("❌ 请输入有效的年份!")
2.2 年龄与星座
# 年龄与星座判断
print("\n⭐ 年龄与星座判断")
print("=" * 50)
def get_constellation(month, day):
"""根据月日获取星座"""
if (month == 3 and day >= 21) or (month == 4 and day <= 19):
return "白羊座", "♈"
elif (month == 4 and day >= 20) or (month == 5 and day <= 20):
return "金牛座", "♉"
elif (month == 5 and day >= 21) or (month == 6 and day <= 21):
return "双子座", "♊"
elif (month == 6 and day >= 22) or (month == 7 and day <= 22):
return "巨蟹座", "♋"
elif (month == 7 and day >= 23) or (month == 8 and day <= 22):
return "狮子座", "♌"
elif (month == 8 and day >= 23) or (month == 9 and day <= 22):
return "处女座", "♍"
elif (month == 9 and day >= 23) or (month == 10 and day <= 23):
return "天秤座", "♎"
elif (month == 10 and day >= 24) or (month == 11 and day <= 22):
return "天蝎座", "♏"
elif (month == 11 and day >= 23) or (month == 12 and day <= 21):
return "射手座", "♐"
elif (month == 12 and day >= 22) or (month == 1 and day <= 19):
return "摩羯座", "♑"
elif (month == 1 and day >= 20) or (month == 2 and day <= 18):
return "水瓶座", "♒"
else:
return "双鱼座", "♓"
def get_constellation_trait(constellation):
"""获取星座性格特点"""
traits = {
"白羊座": "热情冲动,勇敢直率",
"金牛座": "稳重务实,有耐心",
"双子座": "聪明灵活,好奇心强",
"巨蟹座": "温柔体贴,重视家庭",
"狮子座": "自信大方,领导力强",
"处女座": "细心周到,追求完美",
"天秤座": "优雅公正,善于社交",
"天蝎座": "深沉敏锐,意志坚定",
"射手座": "乐观开朗,热爱自由",
"摩羯座": "踏实负责,目标明确",
"水瓶座": "创意无限,独立思考",
"双鱼座": "浪漫感性,富有同情心"
}
return traits.get(constellation, "独特个性")
# 交互式星座查询
print("欢迎使用星座查询系统!")
print("=" * 40)
try:
month = int(input("请输入出生月份(1-12):"))
day = int(input("请输入出生日期(1-31):"))
if month < 1 or month > 12:
print("❌ 月份应在1-12之间!")
elif day < 1 or day > 31:
print("❌ 日期应在1-31之间!")
else:
constellation, symbol = get_constellation(month, day)
trait = get_constellation_trait(constellation)
print(f"\n📋 星座分析:")
print(f" 生日:{month}月{day}日")
print(f" 星座:{symbol} {constellation}")
print(f" 性格:{trait}")
# 星座配对
print(f"\n💕 星座配对速查:")
love_matches = {
"白羊座": "狮子座、射手座",
"金牛座": "处女座、摩羯座",
"双子座": "天秤座、水瓶座",
"巨蟹座": "天蝎座、双鱼座",
"狮子座": "白羊座、射手座",
"处女座": "金牛座、摩羯座",
"天秤座": "双子座、水瓶座",
"天蝎座": "巨蟹座、双鱼座",
"射手座": "白羊座、狮子座",
"摩羯座": "金牛座、处女座",
"水瓶座": "双子座、天秤座",
"双鱼座": "巨蟹座、天蝎座"
}
print(f" 最佳配对:{love_matches.get(constellation, '多样选择')}")
except ValueError:
print("❌ 请输入有效的数字!")
🎯 第三部分:综合年龄分析系统
3.1 完整年龄分析系统
# 完整年龄分析系统
print("\n🏫 完整年龄分析系统")
print("=" * 50)
import datetime
class AgeAnalyzer:
"""年龄分析器类"""
def __init__(self):
self.current_year = datetime.datetime.now().year
self.current_month = datetime.datetime.now().month
self.current_day = datetime.datetime.now().day
def calculate_age(self, birth_year, birth_month, birth_day):
"""计算精确年龄"""
age = self.current_year - birth_year
# 检查是否过了生日
if (self.current_month < birth_month or
(self.current_month == birth_month and self.current_day < birth_day)):
age -= 1
return age
def days_to_next_birthday(self, birth_month, birth_day):
"""计算距离下次生日的天数"""
next_birthday = datetime.date(self.current_year, birth_month, birth_day)
if next_birthday < datetime.date.today():
next_birthday = datetime.date(self.current_year + 1, birth_month, birth_day)
delta = next_birthday - datetime.date.today()
return delta.days
def get_age_group(self, age):
"""获取年龄段"""
if age < 0:
return "未出生", "❌"
elif age <= 1:
return "婴儿期", "👶"
elif age <= 3:
return "学步期", "🚶"
elif age <= 6:
return "幼儿期", "🧒"
elif age <= 12:
return "少儿期", "👦"
elif age <= 15:
return "初中期", "📖"
elif age <= 18:
return "高中期", "🎯"
elif age <= 22:
return "大学期", "🎓"
elif age <= 30:
return "职场初期", "💼"
elif age <= 40:
return "事业上升期", "🏆"
elif age <= 50:
return "成熟期", "🌟"
elif age <= 65:
return "退休预备期", "🌺"
elif age <= 80:
return "老年期", "🌅"
else:
return "长寿期", "🎊"
def get_life_advice(self, age):
"""根据年龄给出人生建议"""
if age <= 3:
return "健康成长,快乐每一天!"
elif age <= 6:
return "多探索世界,培养好习惯!"
elif age <= 12:
return "好好学习,培养兴趣!"
elif age <= 15:
return "打好基础,全面发展!"
elif age <= 18:
return "为梦想努力,不负青春!"
elif age <= 22:
return "把握大学时光,提升自己!"
elif age <= 30:
return "努力工作,积累经验!"
elif age <= 40:
return "平衡工作与生活,关注健康!"
elif age <= 50:
return "沉淀智慧,享受成果!"
elif age <= 65:
return "规划退休,培养爱好!"
else:
return "享受生活,分享智慧!"
def get_milestone_checklist(self, age):
"""获取里程碑清单"""
milestones = []
if age >= 0 and age <= 1:
milestones = ["第一次微笑", "第一次翻身", "第一次坐起来", "第一次爬行", "第一次叫爸爸妈妈"]
elif age <= 3:
milestones = ["学会走路", "学会说话", "学会自己吃饭", "学会自己穿衣"]
elif age <= 6:
milestones = ["上幼儿园", "交到好朋友", "学会认字", "学会数数"]
elif age <= 12:
milestones = ["上小学", "学会骑自行车", "第一次考试", "有自己的爱好"]
elif age <= 15:
milestones = ["上初中", "经历青春期", "找到志同道合的朋友"]
elif age <= 18:
milestones = ["上高中", "参加中考/高考", "对未来有规划"]
elif age <= 22:
milestones = ["上大学", "第一次兼职", "毕业"]
elif age <= 30:
milestones = ["第一份工作", "经济独立", "职业规划"]
elif age <= 40:
milestones = ["事业有成", "组建家庭", "购房置业"]
elif age <= 50:
milestones = ["经验丰富", "培养下一代", "事业发展巅峰"]
elif age <= 65:
milestones = ["退休规划", "享受生活", "传承经验"]
else:
milestones = ["安享晚年", "享受天伦之乐", "分享人生智慧"]
return milestones
def analyze_age(self, birth_year, birth_month, birth_day):
"""综合分析年龄"""
age = self.calculate_age(birth_year, birth_month, birth_day)
days_to_birthday = self.days_to_next_birthday(birth_month, birth_day)
age_group, emoji = self.get_age_group(age)
advice = self.get_life_advice(age)
milestones = self.get_milestone_checklist(age)
return {
"age": age,
"age_group": age_group,
"emoji": emoji,
"days_to_birthday": days_to_birthday,
"advice": advice,
"milestones": milestones
}
# 使用年龄分析器
analyzer = AgeAnalyzer()
print("欢迎使用完整年龄分析系统!")
print("=" * 50)
try:
year = int(input("请输入出生年份:"))
month = int(input("请输入出生月份(1-12):"))
day = int(input("请输入出生日期(1-31):"))
if year < 1900 or year > analyzer.current_year:
print("❌ 请输入合理的年份!")
elif month < 1 or month > 12:
print("❌ 月份应在1-12之间!")
elif day < 1 or day > 31:
print("❌ 日期应在1-31之间!")
else:
result = analyzer.analyze_age(year, month, day)
print(f"\n{'='*60}")
print(f"{'📋 年龄分析报告':^60}")
print(f"{'='*60}")
print(f"\n🎂 出生日期:{year}年{month}月{day}日")
print(f"📅 当前日期:{analyzer.current_year}年{analyzer.current_month}月{analyzer.current_day}日")
print(f"📊 年龄:{result['age']}岁")
print(f"📌 阶段:{result['emoji']} {result['age_group']}")
# 生肖
zodiac = get_zodiac(year)
element = get_zodiac_element(year)
print(f"🐉 生肖:{element}{zodiac}")
# 星座
constellation, symbol = get_constellation(month, day)
print(f"⭐ 星座:{symbol} {constellation}")
# 距离生日
if result['days_to_birthday'] == 0:
print(f"🎉 今天是你生日!生日快乐!")
else:
print(f"📅 距离下次生日还有{result['days_to_birthday']}天")
print(f"\n💡 人生建议:{result['advice']}")
print(f"\n📋 里程碑清单:")
for i, milestone in enumerate(result['milestones'], 1):
print(f" {i}. ✅ {milestone}")
print(f"\n{'='*60}")
print(f"{'愿你的人生精彩纷呈!':^60}")
print(f"{'='*60}")
except ValueError:
print("❌ 请输入有效的数字!")
3.2 家庭年龄分析
# 家庭年龄分析
print("\n👨👩👧👦 家庭年龄分析")
print("=" * 50)
class FamilyAgeAnalyzer(AgeAnalyzer):
"""家庭年龄分析器"""
def __init__(self):
super().__init__()
self.family_members = []
def add_member(self, name, role, birth_year, birth_month, birth_day):
"""添加家庭成员"""
age = self.calculate_age(birth_year, birth_month, birth_day)
member = {
"name": name,
"role": role,
"birth_year": birth_year,
"birth_month": birth_month,
"birth_day": birth_day,
"age": age,
"age_group": self.get_age_group(age)[0],
"emoji": self.get_age_group(age)[1]
}
self.family_members.append(member)
return member
def get_family_summary(self):
"""获取家庭概况"""
if not self.family_members:
return "暂无家庭成员"
total_age = sum(m["age"] for m in self.family_members)
avg_age = total_age / len(self.family_members)
oldest = max(self.family_members, key=lambda m: m["age"])
youngest = min(self.family_members, key=lambda m: m["age"])
return {
"total_members": len(self.family_members),
"total_age": total_age,
"avg_age": avg_age,
"oldest": oldest,
"youngest": youngest
}
def display_family_report(self):
"""显示家庭报告"""
if not self.family_members:
print("❌ 还没有添加家庭成员!")
return
summary = self.get_family_summary()
print(f"\n{'='*60}")
print(f"{'👨👩👧👦 家庭年龄报告':^60}")
print(f"{'='*60}")
print(f"\n👥 家庭成员:{summary['total_members']}人")
print(f"📊 年龄总和:{summary['total_age']}岁")
print(f"📈 平均年龄:{summary['avg_age']:.1f}岁")
print(f"👴 最年长:{summary['oldest']['name']}({summary['oldest']['age']}岁)")
print(f"👶 最年幼:{summary['youngest']['name']}({summary['youngest']['age']}岁)")
print(f"\n{'='*60}")
print(f"{'成员详情':^60}")
print(f"{'='*60}")
print(f"\n{'称呼':<8} {'姓名':<8} {'年龄':>4} {'阶段':<12} {'生肖':<8} {'星座':<8}")
print(f"{'-'*60}")
for member in self.family_members:
zodiac = get_zodiac(member["birth_year"])
element = get_zodiac_element(member["birth_year"])
constellation, symbol = get_constellation(member["birth_month"], member["birth_day"])
print(f"{member['role']:<8} {member['name']:<8} {member['age']:>4}岁 "
f"{member['emoji']} {member['age_group']:<8} "
f"{element}{zodiac:<6} {symbol}{constellation:<6}")
print(f"{'='*60}")
# 代际分析
generations = {}
for member in self.family_members:
if member["age"] >= 50:
gen = "祖辈"
elif member["age"] >= 20:
gen = "父辈"
else:
gen = "子辈"
if gen not in generations:
generations[gen] = []
generations[gen].append(member["name"])
print(f"\n📋 代际分布:")
for gen, names in generations.items():
print(f" {gen}:{'、'.join(names)}")
# 年龄差计算
if len(self.family_members) >= 2:
print(f"\n📊 年龄差分析:")
for i in range(len(self.family_members)):
for j in range(i+1, len(self.family_members)):
diff = abs(self.family_members[i]["age"] - self.family_members[j]["age"])
older = self.family_members[i] if self.family_members[i]["age"] > self.family_members[j]["age"] else self.family_members[j]
younger = self.family_members[j] if older == self.family_members[i] else self.family_members[i]
print(f" {older['name']}比{younger['name']}大{diff}岁")
# 使用家庭年龄分析器
family = FamilyAgeAnalyzer()
print("欢迎使用家庭年龄分析系统!")
print("请添加家庭成员信息\n")
while True:
print("请选择操作:")
print("1. 添加家庭成员")
print("2. 查看家庭报告")
print("3. 退出")
choice = input("\n请选择(1-3):")
if choice == "3":
print("👋 再见!")
break
elif choice == "1":
print("\n📝 添加家庭成员:")
name = input("姓名:")
print("角色:")
print("1. 爷爷 2. 奶奶 3. 外公 4. 外婆")
print("5. 爸爸 6. 妈妈 7. 哥哥 8. 姐姐")
print("9. 弟弟 10. 妹妹 11. 其他")
role_choice = input("选择角色编号:")
roles = {
"1": "爷爷", "2": "奶奶", "3": "外公", "4": "外婆",
"5": "爸爸", "6": "妈妈", "7": "哥哥", "8": "姐姐",
"9": "弟弟", "10": "妹妹", "11": "其他"
}
role = roles.get(role_choice, "其他")
try:
year = int(input("出生年份:"))
month = int(input("出生月份(1-12):"))
day = int(input("出生日期(1-31):"))
member = family.add_member(name, role, year, month, day)
print(f"✅ 已添加:{role} {name}({member['age']}岁)")
except ValueError:
print("❌ 请输入有效的数字!")
elif choice == "2":
family.display_family_report()
else:
print("❌ 请选择1-3!")
📅 下节课预告
第28课:闰年判断器——学习闰年判断逻辑
下节课你将学习:
- 理解闰年的判断规则
- 掌握复合条件判断
- 制作闰年判断程序
- 计算日期相关的逻辑
- 制作万年历基础功能
预习思考:
- 什么是闰年?为什么要设闰年?
- 闰年的判断规则是什么?
- 如何用编程判断闰年?
💬 给家长的话
亲爱的家长:
今天孩子制作了年龄判断系统,这是综合运用条件判断知识的实践项目。通过这个项目,孩子学会了如何根据年龄给出有针对性的分析和建议。
孩子今天学会了:
- ✅ 设计多年龄段判断逻辑
- ✅ 根据年龄给出贴心建议
- ✅ 结合生肖和星座文化
- ✅ 制作完整的年龄分析系统
- ✅ 进行家庭年龄分析
年龄判断的教育价值:
| 能力 | 在项目中的应用 | 培养价值 |
|------|---------------|---------|
| 分类思维 | 划分年龄段 | 逻辑分类 |
| 同理心 | 给出贴心建议 | 情商培养 |
| 文化认知 | 生肖星座知识 | 文化素养 |
| 数据分析 | 家庭年龄统计 | 数据思维 |
| 系统设计 | 完整分析系统 | 架构思维 |
您可以这样做:
家庭应用:
- 生日管理:记录家人的生日和年龄
- 成长记录:追踪孩子的成长里程碑
- 代际分析:了解家庭成员的年龄结构
- 文化传承:讲解生肖和星座的文化
温馨提示:
- 年龄只是一个数字,重要的是心态
- 每个年龄段都有独特的价值和美好
- 尊重不同年龄段的人
- 用技术传递温暖和关怀
🏆 今日成就
完成了今天的学习,你:
🎂 制作了年龄判断机
📊 分析了人生阶段
🐉 了解了生肖文化
⭐ 认识了星座知识
👨👩👧👦 分析了家庭年龄
挑战任务:
- 添加更多文化元素(如节气)
- 制作生日倒计时功能
- 添加年龄增长预测
- 制作家族树可视化