带你用Python制作7个程序,让你感受到端午节的快乐

news2024/11/21 0:26:08

名字:阿玥的小东东

学习:Python、C/C++

主页链接:阿玥的小东东的博客_CSDN博客-python&&c++高级知识,过年必备,C/C++知识讲解领域博主

 

目录

前言

程序1:制作粽子

程序2:龙舟比赛

程序3:艾草挂

程序4:喝雄黄酒

程序5:挑战龙舟游戏(这个好玩)

程序6:端午节诗词创作

程序7:赛龙舟比赛

总结


 

前言

端午节,也叫龙舟节,是中国传统节日之一。这个节日最初是为了纪念伟大的爱国诗人屈原,后来又成为了庆祝丰收、祈求健康和幸福的节日。

端午节有着悠久的历史和丰富的文化内涵。人们在这一天会吃粽子、赛龙舟、挂艾草和喝雄黄酒等活动,以此纪念屈原的离世和祈求健康、平安、幸福。

Python编程与端午节

Python是一种高级的、动态的、面向对象的编程语言,具有简单易学、易读易写的特点,越来越受到广大程序员的喜爱和青睐。在这篇文章中,我们将了解如何使用Python来编写一些有关端午节的程序。

程序1:制作粽子

粽子是端午节的传统食品之一,它是由糯米和各种馅料包裹在竹叶中蒸制而成的。现在,我们来学习如何使用Python编写制作粽子的程序。

首先,我们需要导入Python的random模块,以便随机选择粽子的馅料:

import random

接着,我们定义一个名为“zongzi”的函数来制作粽子。这个函数接受两个参数:一种是粽子的馅料列表,另一种是粽子的数量。在函数内部,我们使用一个for循环来制作指定数量的粽子。具体的代码如下所示:

def zongzi(filling, count):
    for i in range(count):
        print("正在制作第" + str(i + 1) + "个粽子...")
        random_filling = random.choice(filling)
        print("选择了" + random_filling + "馅")
        print("粽子制作完成!\n")

最后,我们可以使用下面的代码来测试这个函数:

filling = ['咸肉', '豆沙', '红枣', '蛋黄']
zongzi(filling, 5)

这个代码将制作5个粽子,使用的馅料是“咸肉”、“豆沙”、“红枣”和“蛋黄”。你可以根据需要在“filling”列表中添加更多的馅料。

程序2:龙舟比赛

龙舟比赛是端午节另一个传统的活动。在这个比赛中,参赛者们坐在龙舟上,用力划桨,以尽可能短的时间冲过终点线。现在,我们来学习如何使用Python编写一个龙舟比赛的程序。

首先,我们需要导入Python的time模块,以便控制程序的运行时间:

import time

接着,我们定义一个名为“row_boat”的函数来让参赛者划龙舟。这个函数接受一个参数,表示参赛者的姓名。在函数内部,我们使用time模块的sleep函数来模拟参赛者划桨的时间。具体的代码如下所示:

def row_boat(name):
    print(name + "开始划龙舟!")
    for i in range(5):
        time.sleep(1)
        print("划了" + str(i + 1) + "下...")
    print(name + "划船结束!")

最后,我们可以使用下面的代码来测试这个函数:

participants = ['小米', '小明', '小红', '小刚']
print("现在,参赛者们准备就绪,比赛要开始了...")
for participant in participants:
    row_boat(participant)

这个代码将创建一个名为“participants”的列表,其中包含四个参赛者的姓名。程序将依次让每个参赛者划龙舟,输出每个参赛者的划船时间。

程序3:艾草挂

在端午节的时候,人们会在家门口挂上一束艾草,以驱走毒虫和疾病。现在,我们来学习如何使用Python编写一个艾草挂的程序。

首先,我们定义一个名为“hang_ai”的函数来挂艾草。这个函数接受一个参数,表示所挂的艾草的数量。在函数内部,我们使用一个for循环来挂指定数量的艾草,并输出挂艾草的过程。具体的代码如下所示:

def hang_ai(count):
    for i in range(count):
        print("正在挂第" + str(i + 1) + "把艾草...")
        print("艾草挂好了!\n")

最后,我们可以使用下面的代码来测试这个函数:

hang_ai(3)

这个代码将挂三束艾草。你可以根据需要在“count”参数中更改数量。

程序4:喝雄黄酒

在端午节的时候,人们会喝一些雄黄酒,以驱走疾病和毒虫。现在,我们来学习如何使用Python编写一个喝雄黄酒的程序。

首先,我们定义一个名为“drink_xionghuang”的函数来喝雄黄酒。这个函数接受一个参数,表示喝酒的次数。在函数内部,我们使用一个for循环来喝指定次数的酒,并输出喝酒的过程。具体的代码如下所示:

def drink_xionghuang(count):
    for i in range(count):
        print("正在喝第" + str(i + 1) + "杯雄黄酒...")
        print("雄黄酒喝完了!\n")

最后,我们可以使用下面的代码来测试这个函数:

drink_xionghuang(2)

这个代码将喝两杯雄黄酒。你可以根据需要在“count”参数中更改数量。

好的,接下来,我们将深入探讨如何使用Python来实现端午节的一些有趣的活动。

程序5:挑战龙舟游戏(这个好玩)

在龙舟比赛中,参赛者们需要

划桨超越对手,但是这个游戏中,我们将挑战你的反应速度和操作能力。现在,我们来学习如何使用Python编写一个挑战龙舟游戏。

首先,我们需要导入Python的turtle模块,使用这个模块来绘制龙舟和水面。具体的代码如下所示:

import turtle

# 绘制龙舟
def draw_boat():
    turtle.penup()
    turtle.goto(-80, 0)
    turtle.pendown()
    turtle.color("red")
    turtle.pensize(5)
    turtle.begin_fill()
    turtle.forward(80)
    turtle.left(120)
    turtle.forward(80)
    turtle.left(120)
    turtle.forward(80)
    turtle.end_fill()

# 绘制水面
def draw_water():
    turtle.penup()
    turtle.goto(-200, -100)
    turtle.pendown()
    turtle.color("blue")
    turtle.pensize(5)
    turtle.begin_fill()
    turtle.forward(400)
    turtle.right(90)
    turtle.forward(200)
    turtle.right(90)
    turtle.forward(400)
    turtle.right(90)
    turtle.forward(200)
    turtle.end_fill()

接着,我们需要定义一个名为“move_boat”的函数来移动龙舟。这个函数接受一个参数,表示龙舟移动的距离。在函数内部,我们使用turtle模块的forward函数来移动龙舟。具体的代码如下所示:

# 移动龙舟
def move_boat(distance):
    turtle.penup()
    turtle.goto(-80, 0)
    turtle.pendown()
    turtle.color("red")
    turtle.pensize(5)
    turtle.begin_fill()
    turtle.forward(distance)
    turtle.left(120)
    turtle.forward(distance)
    turtle.left(120)
    turtle.forward(distance)
    turtle.end_fill()

最后,我们可以使用下面的代码来测试这个游戏:

import turtle
import random
import time

# 绘制龙舟
def draw_boat():
    ...

# 绘制水面
def draw_water():
    ...

# 移动龙舟
def move_boat(distance):
    ...

# 挑战龙舟游戏
def challenge_boat():
    print("挑战龙舟游戏开始!")
    while True:
        distance = random.randint(10, 30)
        move_boat(distance)
        time.sleep(0.5)

这个代码将启动一个挑战龙舟游戏的程序,你需要在终端中输入“challenge_boat()”来开始游戏。游戏会不断随机生成移动距离,你需要尽快反应并通过键盘控制龙舟移动,以尽可能地超越对手。

程序6:端午节诗词创作

端午节是一个重要的传统节日,古人们也留下了许多描写端午节的诗词。现在,我们来学习如何使用Python编写一个随机生成端午节诗词的程序。

首先,我们需要定义一个名为“poem”的函数来生成端午节诗词。在函数内部,我们使用Python的random模块和“if”语句来随机生成不同的诗词。具体的代码如下所示:

import random

# 生成端午节诗词
def poem():
    first_line = ["红旗招展迎节日", "艾叶飘香传佳节", "阳光照耀端午节", "龙舟竞渡忆古人"]
    second_line = ["赛龙舟", "挂艾草", "品粽子", "喝雄黄"]
    third_line = ["笑声声声喜气腾", "欢声笑语遍大街", "端午佳节人人忙", "十年一遇吉日来"]
    if random.randint(0, 1) == 0:
        poem = first_line[random.randint(0, 3)] + "," + second_line[random.randint(0, 3)] + "," + third_line[random.randint(0, 3)]
    else:
        poem = third_line[random.randint(0, 3)] + "," + first_line[random.randint(0, 3)] + "," + second_line[random.randint(0, 3)]
    return poem

最后,我们可以使用下面的代码来测试这个函数:

print(poem())

这个代码将随机生成一句端午节诗词并输出。

程序7:赛龙舟比赛

赛龙舟比赛是端午节的一个传统活动,现在,我们来学习如何使用Python编写一个赛龙舟比赛的程序。

首先,我们定义一个名为“dragon_boat”的函数来开始赛龙舟比赛。这个函数接受一个参数,表示参赛队伍的数量。在函数内部,我们使用turtle模块来绘制龙舟和赛道,并使用Python的random模块来随机生成龙舟和参赛队伍的速度。具体的代码如下所示:

import turtle
import random
import time

# 绘制赛道
def draw_track():
    turtle.penup()
    turtle.goto(-200, -150)
    turtle.pendown()
    turtle.color("black")
    turtle.pensize(2)
    turtle.forward(400)
    turtle.right(90)
    turtle.forward(300)
    turtle.right(90)
    turtle.forward(400)
    turtle.right(90)
    turtle.forward(300)

# 绘制龙舟
def draw_boat():
    turtle.penup()
    turtle.goto(-80, 0)
    turtle.pendown()
    turtle.color("red")
    turtle.pensize(5)
    turtle.begin_fill()
    turtle.forward(80)
    turtle.left(120)
    turtle.forward(80)
    turtle.left(120)
    turtle.forward(80)
    turtle.end_fill()

# 赛龙舟比赛
def dragon_boat(num):
    print("赛龙舟比赛开始!")
    draw_track()
    draw_boat()
    for i in range(num):
        turtle.penup()
        turtle.goto(-180, -100 + i * 50)
        turtle.pendown()
        turtle.color("blue")
        turtle.pensize(5)
        turtle.begin_fill()
        turtle.circle(10)
        turtle.end_fill()
        time.sleep(1)
    max_distance = 0
    winner = None
    for i in range(num):
        speed = random.randint(30, 50)
        distance = random.randint(100, 300)
        current_distance = distance / speed
        if current_distance > max_distance:
            max_distance = current_distance
            winner = i
    print("获胜者是队伍" + str(winner + 1) + ",用时" + str(max_distance) + "秒。")

最后,我们可以使用下面的代码来测试这个函数:

dragon_boat(4)

这个代码将启动一个赛龙舟比赛的程序,你需要在终端中输入“dragon_boat(num)”来开始比赛,其中“num”表示参赛队伍的数量。程序将绘制赛道和龙舟,随机生成赛道和参赛队伍的速度,最后输出获胜的队伍和用时。

总结

以上就是关于使用Python编写端午节程序的一些思路和实现。Python拥有着丰富的模块和库,可以帮助我们快速地实现各种功能。无论是绘制图形、生成随机数据还是进行逻辑判断,Python都可以轻松完成。希望这篇文章对你有所启发,也祝愿你在端午节期间度过一个愉快的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/669210.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Java高校共享单车管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

《网络安全0-100》网络安全的未来趋势

网络安全的未来趋势 网络安全是一个永恒的话题,随着技术的发展 和应用,网络安全也面临着新的挑战和威胁。 以下是网络安全未来的趋势: 人工智能和机器学习:人工智能和机器学习已 经成为网络安全领域的热门技术。未来&#xff…

编译原理笔记11:自上而下语法分析(1)基础概念、左递归和公共左因子处理、递归下降分析(咕咕咕)

目录 自上而下分析的一般方法用推导的方法分析输入序列左递归问题及其消除(消除左递归)消除直接左递归消除间接左递归左递归消除算法 公共左因子问题及其消除(提取左因子)提取左因子 递归下降分析 词法分析,是把源程序…

基于物联网及云平台的光伏运维系统

系统结构 在光伏变电站安装逆变器、以及多功能电力计量仪表,通过网关将采集的数据上传至服务器,并将数据进行集中存储管理。用户可以通过PC访问平台,及时获取分布式光伏电站的运行情况以及各逆变器运行状况。平台整体结构如图所示。 光伏背景…

Cortext-M3系列:调试组件(9)

1、调试组件简介 在 CM3 中有很多调试组件,使用它们可以执行各种调试功能:断点、数据观察点、闪存地址重载以及各种跟踪等。软件开发人员也许永远无需了解调试组 的细节,因为它们通常只是由调试器及其周边工具使用的。 本文对每种调试组件做一…

基于Java学生公寓管理中心系统设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

IDEA2022.3.3支持Jrebel and Xrebel教程

目录 前言 思路 步骤 1、下载服务并启动 推荐下载windows环境的exe文件,直接点开就行。 如果用linux 需要安装go环境: 下载好后启动 2、idea安装Jrebel and XRebel插件 3、激活插件 前言 由于服务平台限制,只支持darwin、linux和windows环境。这…

(转载)无监督学习神经网络的分类(matlab实现)

对于监督学习神经网络,事先需要知道与输入相对应的期望输出,根据期望输出与网络输出间的偏差来调整网络的权值和阈值。然而,在大多数情况下,由于人们认知能力以及环境的限制,往往无法或者很难获得期望的输出&#xff0…

AbstractQueuedSynchronizer源码

介绍 基于队列的抽象同步器,它是jdk中所有显示的线程同步工具的基础,像ReentrantLock/DelayQueue/CountdownLatch等等,都是借助AQS实现的。 public abstract class AbstractQueuedSynchronizerextends AbstractOwnableSynchronizerimplemen…

Camera 基础知识点

和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 1.1 Camera 工作原理1.2 Camera 模组组成1.3 Camera 常见缩写解释1.4 Camera 部分名词解释1.5 参考文献 一、Camera 基础知识 1.1 Camera 工作原理 外部…

[进阶]Java:线程安全问题、取钱模拟

什么是线程安全问题? 多个线程,同时操作同一个共享资源的时候,可能会出现业务安全问题。 线程安全问题出现的原因? 存在多个线程在同时执行同时访问一个共享资源存在修改该共享资源 代码演示如下: 账户类&#xff…

深蓝学院C++基础与深度解析笔记 第 5 章 语句

1. 语句基础 ● 语句的常见类别 – 表达式语句:表达式后加分号,对表达式求值后丢弃,可能产生副作用 – 空语句:仅包含一个分号的语句,可能与循环一起工作 – 复合语句(语句体):由大…

软考A计划-系统集成项目管理工程师-信息系统集成及服务管理体系

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

Flutter Dart 变量和内置类型

目录 一、变量 1.1 var 1.2 Object 1.3 dynamic 1.4 final与const 二、内置类型 2.1 num(数值) 2.2 Strings(字符串) 2.3 bool(布尔值) 2.4 List(列表) 2.5 Map(映射集…

Android apk 反编译后打包(含签名)

想分析某些app源码时,遇到烦人弹框,现在想反编译看看具体实现。 用到的工具: GDA4.06 apk反编译工具 apktool apk 打包工具 jdk 环境 一、反编译分析 将apk反编译打开 找到入口代码 弹框代码如图 二、解包、打包 使用apktool解包 ps: apktool工具…

unity游戏架构设计

1.unity架构的3个等级 EmptyGO 所有功能写一个脚本挂载object上面,没有单列manager。 Simple GameManager 写一个公用的管理器,方便调用 Manager of Managers 不同的类型的东西用不同的管理器【声音管理器,关卡管理器,】 2…

chatgpt赋能python:Python搜索快捷键

Python搜索快捷键 介绍 Python作为一门广泛应用在各个领域的编程语言,其强大的搜索功能也得到了广泛的应用和赞誉。但是,在日常的使用中,有时我们需要进行大量的搜索和筛选操作,这时候掌握一些Python搜索快捷键将能够极大地提高…

java入门2(运算符)

目录 运算符和C语言基本一样 算术运算符 单目运算符:自增自减运算符 比较运算符 逻辑运算符 位运算符(C语言好像没有) 优先级 交换算法 运算符和C语言基本一样 算术运算符 比如拆分一个三位数 public class java练习代码 {public…

Cortext-M3系统:NVIC与中断控制(4)

1、NVIC概述 向量中断控制器,简称NVIC,是Cortex-M3不可分离的一部分,它与CM3内核的逻辑紧密耦合。NVIC的寄存器以存储器映射的方式来访问,除了包含控制寄存器和中断处理的控制逻辑之外,NVIC还包含了MPU、SysTick定时器…

算法分析01--算法的基本概念

1.算法设计与分析的基本概念 1.1算法 算法(Algorithm)是对特定问题求解步骤的一种描述, 它是指令的有限序列, 其中每一条指令表示一个或多个操作。 算法具有以下5个重要特性: 1.有穷性 一个算法必须在有穷步内完成,并且每一步…