用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 中函数的特性与应用. 高阶函数 高阶函数是指接受一个或多个函数作为参…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...

USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...

云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...