用Python打造互动式中秋节庆祝小程序

中秋节,这个充满传统韵味的节日,不仅是家人团聚的时刻,也是程序员展示创意的好机会。本文将引导您使用Python创建一个互动式中秋节庆祝小程序,它不仅能够展示节日祝福,还能通过一些简单的特效增加节日气氛。


文章目录
- 💯 为什么选择Python?
- 💯 功能介绍
- 💯 实现步骤
- 步骤1:安装必要的库
- 步骤2:编写代码
- 程序结构
- 代码详解
- 步骤3:运行程序
- 💯 完整代码
- 💯 完善功能
- 💯 结论
- 💯 参考文献
![]()
💯 为什么选择Python?
Python以其简洁明了的语法和强大的库支持,成为快速开发小程序的理想选择。无论是文本动画、图形界面还是网络应用,Python都能轻松应对。
![]()
💯 功能介绍
我们的小程序将包括以下功能:
- 节日祝福语和诗词展示。
- 互动式灯谜游戏。
- 动态背景特效,模拟中秋明月。
- 用户可以选择了解更多关于中秋节的信息。
![]()
💯 实现步骤
步骤1:安装必要的库
我们将使用turtle库来创建动态背景特效,这是一个简单的图形库,适合制作基本的动画效果。如果您的Python环境中还没有安装turtle,可以通过以下命令安装:
pip install PythonTurtle
步骤2:编写代码
创建一个名为 mid_autumn_festival_interactive.py 的Python文件,作为代码执行文件。
程序结构
程序主要由几个函数组成,每个函数负责不同的功能:
display_poem():展示苏轼的《水调歌头·明月几时有》,逐行打印并暂停一秒以增加效果。guess_the_riddle():提供一个互动式的灯谜游戏,用户输入答案后,程序会给出反馈。celebrate_mid_autumn_festival():整合祝福语展示、灯谜游戏和信息查询功能,是程序的主要入口。draw_moon():使用turtle库绘制一个简单的中秋明月动画,作为背景特效。
代码详解
- 展示中秋节诗词
这个函数通过一个列表存储了完整的诗词,并使用一个循环逐行打印出来。def display_poem():poem = ["明月几时有?把酒问青天。","不知天上宫阙,今夕是何年。","我欲乘风归去,又恐琼楼玉宇,高处不胜寒。","起舞弄清影,何似在人间。","转朱阁,低绮户,照无眠。","不应有恨,何事长向别时圆?","人有悲欢离合,月有阴晴圆缺,此事古难全。","但愿人长久,千里共婵娟。"]for line in poem:print(line)time.sleep(1) # 暂停一秒,逐行显示time.sleep(1)函数用于在每行之间增加一秒的延迟,使得诗词展示更加生动。 - 互动式灯谜游戏
这个函数首先定义了一个包含多个灯谜的列表,每个灯谜都是一个字典,包含问题和答案。程序随机选择一个灯谜并展示给用户,用户输入答案后,程序会判断并给出反馈。def guess_the_riddle():print("\n猜灯谜时间:")riddles = [{"question": "举头望明月", "answer": "抬头"},{"question": "中秋佳节大团圆", "answer": "中秋节快乐"},{"question": "十五的月亮", "answer": "正大光明"}]riddle = random.choice(riddles)answer = input(f"猜一猜:{riddle['question']}(输入'答案'查看提示): ")if answer == riddle["answer"]:print("恭喜你,答对了!")else:print(f"答案错误,正确答案是:{riddle['answer']}")input("按任意键继续...") - 庆祝中秋节
这个函数是程序的主要入口,它首先打印中秋节祝福,然后调用def celebrate_mid_autumn_festival():print("🌕 中秋节快乐 🌕")display_poem()guess_the_riddle()learn_more = input("想要了解更多关于中秋节的信息吗?(yes/no): ")if learn_more.lower() == "yes":print("中秋节,又称月夕、秋节、仲秋节、八月节、八月会、追月节、玩月节、拜月节、女儿节或团圆节,是中国传统文化节日。")print("中秋节始于唐朝初年,盛行于宋朝,至明清时,已成为与春节齐名的中国传统节日之一。")print("中秋节自古便有祭月、赏月、拜月、吃月饼、赏桂花、饮桂花酒等习俗,流传至今,经久不息。")print("中秋节以月之圆兆人之团圆,为寄托思念故乡,思念亲人之情,祈盼丰收、幸福,成为丰富多彩、弥足珍贵的文化遗产。")else:print("好的,祝您中秋节快乐,与家人共度美好时光!")display_poem()和guess_the_riddle()函数,最后询问用户是否想要了解更多关于中秋节的信息。 - 绘制中秋明月
这个函数使用def draw_moon():screen = turtle.Screen()screen.bgcolor("black")moon = turtle.Turtle()moon.color("yellow")moon.begin_fill()moon.circle(100)moon.end_fill()moon.goto(-50, 0)moon.pendown()moon.pencolor("white")moon.pensize(2)for _ in range(2):moon.circle(100, 180)moon.circle(30, 180)moon.setheading(180)moon.circle(100, 180)moon.circle(-30, 180)moon.setheading(0)moon.hideturtle()screen.mainloop()turtle库绘制一个黄色的圆代表月亮,并设置背景为黑色,模拟夜晚的天空。turtle库提供了简单的绘图功能,使得创建这样的背景特效变得简单。
步骤3:运行程序
在命令行中,导航到包含 mid_autumn_festival_interactive.py 文件的目录,然后运行以下命令:
python mid_autumn_festival_interactive.py
程序将首先输出中秋节的祝福语和诗词,然后邀请用户参与猜灯谜游戏。最后,用户可以选择了解更多关于中秋节的信息。
![]()
💯 完整代码
# 导入必要的库
import turtle
import time
import random# 展示中秋节诗词
def display_poem():poem = ["明月几时有?把酒问青天。","不知天上宫阙,今夕是何年。","我欲乘风归去,又恐琼楼玉宇,高处不胜寒。","起舞弄清影,何似在人间。","转朱阁,低绮户,照无眠。","不应有恨,何事长向别时圆?","人有悲欢离合,月有阴晴圆缺,此事古难全。","但愿人长久,千里共婵娟。"]for line in poem:print(line)time.sleep(1) # 暂停一秒,逐行显示# 互动式灯谜游戏
def guess_the_riddle():print("\n猜灯谜时间:")riddles = [{"question": "举头望明月", "answer": "抬头"},{"question": "中秋佳节大团圆", "answer": "中秋节快乐"},{"question": "十五的月亮", "answer": "正大光明"}]riddle = random.choice(riddles)answer = input(f"猜一猜:{riddle['question']}(输入'答案'查看提示): ")if answer == riddle["answer"]:print("恭喜你,答对了!")else:print(f"答案错误,正确答案是:{riddle['answer']}")input("按任意键继续...")# 庆祝中秋节
def celebrate_mid_autumn_festival():print("🌕 中秋节快乐 🌕")display_poem()guess_the_riddle()learn_more = input("想要了解更多关于中秋节的信息吗?(yes/no): ")if learn_more.lower() == "yes":print("中秋节,又称月夕、秋节、仲秋节、八月节、八月会、追月节、玩月节、拜月节、女儿节或团圆节,是中国传统文化节日。")print("中秋节始于唐朝初年,盛行于宋朝,至明清时,已成为与春节齐名的中国传统节日之一。")print("中秋节自古便有祭月、赏月、拜月、吃月饼、赏桂花、饮桂花酒等习俗,流传至今,经久不息。")print("中秋节以月之圆兆人之团圆,为寄托思念故乡,思念亲人之情,祈盼丰收、幸福,成为丰富多彩、弥足珍贵的文化遗产。")else:print("好的,祝您中秋节快乐,与家人共度美好时光!")# 绘制中秋明月
def draw_moon():screen = turtle.Screen()screen.bgcolor("black")moon = turtle.Turtle()moon.color("yellow")moon.begin_fill()moon.circle(100)moon.end_fill()moon.goto(-50, 0)moon.pendown()moon.pencolor("white")moon.pensize(2)for _ in range(2):moon.circle(100, 180)moon.circle(30, 180)moon.setheading(180)moon.circle(100, 180)moon.circle(-30, 180)moon.setheading(0)moon.hideturtle()screen.mainloop()# 程序入口
def main():celebrate_mid_autumn_festival()draw_moon()if __name__ == "__main__":main()
![]()
💯 完善功能
实际应用中可以进一步扩展功能,比如添加更复杂的图形用户界面(GUI),或者将诗词、灯谜等内容以更丰富的形式展现。
这些功能留给大家独立去完成,有问题可以留言区讨论。
![]()
💯 结论
通过这个小程序,我们不仅能够庆祝中秋节,还能够通过互动式体验增加节日的乐趣。Python的强大功能和简单易用的语法使得这样的创意变得触手可及。希望这个小程序能够为您的中秋节增添一份特别的乐趣。
最后,再次祝您中秋节快乐,团圆美满!🌕🥮
![]()
💯 参考文献
- Python官网
- PythonTurtle
- 苏轼. 《水调歌头·明月几时有》



相关文章:
用Python打造互动式中秋节庆祝小程序
中秋节,这个充满传统韵味的节日,不仅是家人团聚的时刻,也是程序员展示创意的好机会。本文将引导您使用Python创建一个互动式中秋节庆祝小程序,它不仅能够展示节日祝福,还能通过一些简单的特效增加节日气氛。 文章目录 …...
Linux 生成 git ssh 公钥
在Linux系统中生成SSH公钥以用于Git的步骤如下: 打开终端:首先,你需要打开你的Linux系统的终端。 检查SSH密钥:在生成新的SSH密钥之前,你可以检查是否已经存在SSH密钥。在终端中输入以下命令: ls -al ~/.s…...
CertiK因发现Apple Vision Pro眼动追踪技术漏洞,第6次获苹果认可
2024年9月20日,头部Web3.0安全机构CertiK自豪地宣布,CertiK的工程师因发现Apple Vision Pro MR(混合现实)头显设备中的关键漏洞而获得Apple公司认可,这已经是Apple公司第六次公开发布对CertiK的致谢,Cert…...
自动登录 RPA 的进阶:滑块验证的巧妙实现
在RPA的众多应用场景的探索中,自动登录是一个至关重要的环节,它为后续的自动化操作奠定了基础。然而,当我们面对滑块验证这一常见的挑战时,常常会感到困惑和无从下手。本文就来分享自动登录RPA的进阶----滑块验证如何实现。 在…...
Flask-WTF的使用
组织一个 Flask 项目通常需要遵循一定的结构,以便代码清晰、可维护。下面是一个典型的 Flask 项目结构: my_flask_app/ │ ├── app/ │ ├── __init__.py │ ├── models.py │ ├── views.py │ ├── forms.py │ ├── templat…...
Docker 进入容器并运行命令的方法
目录 理解 Docker 容器的基本概念 使用 docker exec 进入运行中的容器 基本用法 常用选项解析 选项详解 实际案例演示 1. 进入容器的交互式 Shell 2. 在容器中运行单个命令 3. 以指定用户运行命令 4. 设置环境变量并运行命令 5. 指定工作目录 使用 docker attach 附…...
2024“华为杯”中国研究生数学建模竞赛(E题)深度剖析_数学建模完整过程+详细思路+代码全解析
问题1详细解答过程 (1) 交通流参数统计 数据预处理 数据读取: 从四个视频观测点提取交通流数据,包括每个时间段内的车流量、车速和车道占用率等。 交通流参数计算 3. 计算流量 (Q): Q ( t ) N ( t ) Δ t Q(t) \frac{N(t)}{\Delta t} Q…...
伊犁云计算22-1 apache 安装rhel8
1 局域网网络必须通 2 yum 必须搭建成功 3 apache 必须安装 开干 要用su 用户来访问 一看httpd 组件安装完毕 到这里就是测试成功了 如何修改主页的目录 网站目录默认保存在/var/WWW/HTML 我希望改变/home/www 122 127 167 行要改...
概率论原理精解【13】
文章目录 在度量空间中,连续映射概述一、度量空间与距离函数二、连续映射的定义三、连续映射的等价定义四、连续映射的性质五、应用与例子 球形邻域刻画一、球形邻域的定义二、连续映射的球形邻域刻画三、等价性证明四、应用与例子 将度量空间上的连续映射推广到拓扑…...
年度巨献 | OpenCSG开源最大中文合成数据集Chinese Cosmopedia
01 背景 近年来,生成式语言模型(GLM)的飞速发展正在重塑人工智能领域,尤其是在自然语言处理、内容创作和智能客服等领域展现出巨大潜力。然而,大多数领先的语言模型主要依赖于英文数据集进行训练,中文数据…...
Mac 上,终端如何开启 proxy
文章目录 为什么要这么做前提步骤查看 port查看代理的port配置 bash测试 为什么要这么做 mac 上的终端比较孤僻吧,虽然开了,但是终端并不走🪜…产生的现象就是,浏览器可以访问🌍,但是终端不可以访问&#…...
Linux中的进程入门
冯诺依曼体系结构 操作系统(Operator System) 进程控制块(PCB) struct task_struct{//该进程的所有属性//该进程对应的代码和属性地址struct task_struct* next; }; struct task_struct 内核结构体——>创建内核结构体对象(task_struct)…...
Redis面试真题总结(三)
文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 什么是缓存雪崩?该如何解决? 缓存雪崩是指…...
ARM/Linux嵌入式面经(三三):大疆
嵌入式工程师考察主要蕴含:C/C++,处理器的架构,操作系统(linux或嵌入式实时操作系统),常见硬件接口协议/总线,文件存储系统等几方面 文章目录 1)C/C++static作用,变量加入static以后在内存中存储位置的变化。static的作用变量加入static后在内存中存储位置的变化面试官…...
《DevOps实践指南》笔记-Part 2
一篇文章显得略长,本文对应第3-4章。前言、第1-2章请参考Part 1;第5-6章、附录、认证考试、参考资源等内容,请参考Part 3。 流动的技术实践 持续交付:降低在生产环境中部署和发布变更的风险。包括:打好自动化部署流水…...
树莓派智能语音助手实现音乐播放
树莓派语音助手从诞生的第一天开始,我就想着让它能像小爱音箱一样,可以语音控制播放音乐。经过这些日子的倒腾,今天终于实现了。 接下里,和大家分享下我的实现方法:首先音乐播放模块用的是我在上一篇博文写的《用sound…...
【sgCreateCallAPIFunctionParam】自定义小工具:敏捷开发→调用接口方法参数生成工具
<template><div :class"$options.name" class"sgDevTool"><sgHead /><div class"sg-container"><div class"sg-start"><div style"margin-bottom: 10px">参数列表[逗号模式]<el-too…...
完整版:NacosDocker 安装
第一步:先直接通过命令安装 Nacos docker run --name nacos2.2.3 -d -p 8848:8848 -e MODEstandalone f151dab7a111 第二步:创建 Docker 挂载目录 # 创建 log 目录 mkdir -p /root/nacos 第三步:将 Docker 容器的文件复制到挂载目录中 …...
mysql RR是否会导致幻读?
除了rr级别的当前读,都会幻读 mysql不同隔离级别: 而对于RC级别的语句级快照和RR级别的事务级快照的之间的区别,其实是由read_view生成的时机来实现的。 RC级别在执行语句时,会先关闭原来的read_view,重新生成新的r…...
一篇进阶Python深入理解函数之高阶函数与函数式编程
当我们深入探讨了函数的作用域与闭包,了解到函数不仅是代码的执行单元,还能通过闭包完成数据的封装与保护.接下来,我们将进一步挖掘函数的强大特性,尤其是高阶函数与函数式编程,帮助你更全面地理解 Python 中函数的特性与应用. 高阶函数 高阶函数是指接受一个或多个函数作为参…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
