• 基于Python实现一个庆祝中秋节的小程序


    功能包括:

    1. 使用复杂的库来计算农历日期:可以使用 lunarcalendar 库来计算农历日期。
    2. 提供更多的祝福语:可以通过随机选择祝福语来增加趣味性。
    3. 加入图形用户界面 (GUI):可以使用 tkinter 库来创建一个简单的图形用户界面。

    我们可以将这些功能结合到一个程序中。以下是一个扩展的示例:

    安装依赖

    首先,你需要安装 lunarcalendar 库。可以通过以下命令安装:

    pip install lunarcalendar
    

    完整代码示例

    import tkinter as tk
    from tkinter import messagebox
    from datetime import datetime
    from lunarcalendar import Converter, DateNotExist
    import random
    
    # 祝福语列表
    blessings = [
        "🎉 中秋节快乐!🎉",
        "🌕 月圆人圆,祝愿大家团团圆圆,幸福美满!🌕",
        "🏮 祝您中秋快乐,家庭幸福!🏮",
        "🍂 愿你的生活像满月一样圆满!🍂",
        "🌟 中秋佳节,祝您万事如意!🌟"
    ]
    
    def get_mid_autumn_date(year):
        try:
            # 获取农历8月15日的公历日期
            lunar_date = Converter().lunar_to_solar(year, 8, 15)
            return lunar_date
        except DateNotExist:
            return None
    
    def display_message():
        # 随机选择一条祝福语
        message = random.choice(blessings)
        return message
    
    def show_gui():
        # 创建主窗口
        root = tk.Tk()
        root.title("中秋节祝福")
    
        # 获取当前年份
        now = datetime.now()
        year = now.year
    
        # 获取今年中秋节的日期
        mid_autumn_date = get_mid_autumn_date(year)
        if mid_autumn_date:
            date_str = mid_autumn_date.strftime('%Y年%m月%d日')
        else:
            date_str = "日期无法计算"
    
        # 显示祝福信息
        message = display_message()
    
        # 创建并放置标签
        label_date = tk.Label(root, text=f"今年的中秋节日期是: {date_str}", font=("Arial", 14))
        label_date.pack(pady=10)
        
        label_message = tk.Label(root, text=message, font=("Arial", 14))
        label_message.pack(pady=10)
    
        # 显示窗口
        root.mainloop()
    
    if __name__ == "__main__":
        show_gui()
    

    代码解释:

    1. 计算农历日期:使用 lunarcalendar 库的 Converter 类来将农历8月15日转换为公历日期。
    2. 祝福语:使用 random.choice 从预定义的祝福语列表中随机选择一条祝福语。
    3. 图形用户界面 (GUI):使用 tkinter 创建一个简单的窗口,显示中秋节日期和祝福信息。

    运行程序

    运行这个程序时,它会弹出一个窗口,显示今年中秋节的日期和一条随机的祝福语。这样,你可以在节日里为自己和他人带来一些节日的欢乐。

  • 相关阅读:
    【华为机试真题 JAVA】最长连续的数字串-200
    Hive如何使用Java自定义函数
    LIDL验厂难度大不大
    前端工程化以及WebPack的使用
    精心整理的Java学习顺序流程和学习方法
    python3.9运行出现编码问题,在其他电脑上可以正常运行
    基于C#+SQLServer开发的餐饮管理系统源码
    【Hack The Box】windows练习-- Resolute
    tep完整教程帮你突破pytest
    MySQL安装_win10(超详细)
  • 原文地址:https://blog.csdn.net/laochao2020/article/details/142234621