用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 中函数的特性与应用. 高阶函数 高阶函数是指接受一个或多个函数作为参…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
