用python代码写中秋电影动画送对象

好,中秋节快到了,那我们就写个代码送对象吧!

目录

基础代码

添加月兔和月饼

加上颜色 

添加动作 

添加兔子动作

成品


基础代码

直接上print时间复杂度杠杠的:

import timedef send_mid_autumn_movie_to_girlfriend():print("正在生成中秋电影动画,请稍等片刻...")time.sleep(3)  # 模拟生成动画过程print("------------------------------------")print("|         中秋节快乐!亲爱的         |")print("|         给你准备了一部特别的         |")print("|        中秋电影动画,希望你喜欢       |")print("------------------------------------")print("           \\")print("             \\")print("               \\\n")print("                  -----")print("                 |     |")print("                 |  中 |")print("                 | 秋 |")print("                 |  快 |")print("                 |  乐 |")print("                  -----")print("\n")print("祝福语:")print("亲爱的,中秋佳节到了,愿这部中秋电影动画能带给你欢乐与温馨。我在这个美好的时刻,感谢你对我的陪伴和支持,希望我们的爱情也能像中秋的明月一样圆满。祝你中秋快乐,幸福美满!爱你永远~")print("\n")send_mid_autumn_movie_to_girlfriend()

哈哈哈时间复杂度是不是超级小,当然这个还是送自己比较好,既然这样,那么我们就开始正题吧!

送女友华丽的中秋动画

添加月兔和月饼

首先,我们给代码加上月兔和月饼,那么代码就是这样:

import timedef send_mid_autumn_movie_to_girlfriend():print("正在生成中秋电影动画,请稍等片刻...")time.sleep(3)  # 模拟生成动画过程print("------------------------------------")print("|         中秋节快乐!亲爱的         |")print("|         给你准备了一部特别的         |")print("|        中秋电影动画,希望你喜欢       |")print("------------------------------------")print("                            .-.")print("                          //(\\)")print("                    |\\  ///\ \\/")print("                    \\|/  \\\/ == ")print("                     |/_-|\n")print("                  -----")print("                 |     |")print("                 |  中 |")print("                 | 秋 |")print("                 |  快 |")print("                 |  乐 |")print("                  -----")print("               .-'''''-.")print("             .'  * * *  `.")print("            :  *       *  :")print("           : ~   兔子  ~  :")print("           : ~   和   ~  :")print("            :  *       *  :")print("             `.  * * *  ,'")print("               `-.....-'\n")print("祝福语:")print("亲爱的,中秋佳节到了,在这个美好的时刻,我用心为你准备了这部中秋电影动画。月兔儿在皓月下奔跑,月饼香气弥散在四周,寄托了我对你的深深思念和祝福。愿我们的爱情像皓月一样明亮,甜蜜如月饼。祝你中秋快乐,幸福满溢!爱你一直陪伴~")print("\n")send_mid_autumn_movie_to_girlfriend()

代码解释

这段代码定义了一个名为send_mid_autumn_movie_to_girlfriend()的函数。该函数用于生成中秋节电影动画并发送给女友。

在函数开始前,先使用time.sleep(3)模拟生成动画的过程,暂停3秒钟。

接下来,通过print语句打印一段欢迎词和祝福语,并按照特定的格式打印出月兔和月饼的图形。

最后,输出祝福语,表达对女友的思念和祝福。

函数执行完成后,即可将生成的中秋节电影动画发送给女友。

 

加上颜色 

还是很陋是不是?那我们加上颜色:

import timedef send_mid_autumn_movie_to_girlfriend():print("正在生成中秋电影动画,请稍等片刻...")time.sleep(3)  # 模拟生成动画过程print("------------------------------------")print("|         中秋节快乐!亲爱的         |")print("|         给你准备了一部特别的         |")print("|        中秋电影动画,希望你喜欢       |")print("------------------------------------")print("                            .-.")print("                          //(\\)")print("                    |\\  ///\ \\/")print("                    \\|/  \\\/ == ")print("                     |/_-|\n")print("                  -----")print("                 |     |")print("                 |  中 |")print("                 | 秋 |")print("                 |  快 |")print("                 |  乐 |")print("                  -----")print("               .-'''''-.")print("             .'  * * *  `.")print("            :  *       *  :")print("           : ~   兔子  ~  :")print("           : ~   和   ~  :")print("            :  *       *  :")print("             `.  * * *  ,'")print("               `-.....-'\n")print("祝福语:")print("亲爱的,中秋佳节到了,在这个美好的时刻,我用心为你准备了这部中秋电影动画。月兔儿在皓月下奔跑,月饼香气弥散在四周,寄托了我对你的深深思念和祝福。愿我们的爱情像皓月一样明亮,甜蜜如月饼。祝你中秋快乐,幸福满溢!爱你一直陪伴~")print("\n")send_mid_autumn_movie_to_girlfriend()

代码解释:

这段代码定义了一个名为send_mid_autumn_movie_to_girlfriend()的函数。该函数用于生成中秋节电影动画并发送给女友。

在函数开始前,先使用time.sleep(3)模拟生成动画的过程,暂停3秒钟。

接下来,通过print语句打印一段欢迎词和祝福语,并按照特定的格式打印出月兔和月饼的图形。

最后,输出祝福语,表达对女友的思念和祝福。

函数执行完成后,即可将生成的中秋节电影动画发送给女友。

这段代码是一个功能简单的程序,通过打印和输出文本实现了生成中秋节电影动画并表达祝福的功能。

 

添加动作 

但是....还是太单调了,动画怎么能少得了动作呢?

生成月兔走动的动作,月饼旋转消失又出现的动作包含颜色搭配这里我们先于上面代码分开重新写一个使用图形库:

import turtle# 设置画布和画笔
screen = turtle.Screen()
screen.bgcolor("black")
pen = turtle.Turtle()
pen.hideturtle()
pen.speed(0)# 定义月兔的形状和颜色
def draw_rabbit():pen.penup()pen.goto(-100, 0)pen.pendown()# 绘制月兔的头部pen.color("white")pen.begin_fill()pen.circle(50)pen.end_fill()# 绘制月兔的身体pen.penup()pen.goto(-100, -70)pen.pendown()pen.begin_fill()pen.circle(30)pen.end_fill()# 定义月饼的形状和颜色
def draw_mooncake(color):pen.penup()pen.goto(100, 0)pen.pendown()# 绘制月饼pen.color(color)pen.begin_fill()pen.circle(30)pen.end_fill()# 定义月兔走动的动作
def walk():pen.penup()pen.goto(-100, -70)pen.pendown()for _ in range(2):pen.setheading(60)pen.forward(100)pen.setheading(-60)pen.forward(100)# 定义月饼旋转消失又出现的动作
def rotate_and_disappear(color):pen.penup()pen.goto(100, 0)pen.pendown()for _ in range(2):pen.color(color)pen.begin_fill()pen.circle(30)pen.end_fill()pen.clear()# 绘制月兔和月饼的初始状态
draw_rabbit()
draw_mooncake("yellow")# 执行动画
walk()
rotate_and_disappear("red")turtle.done()

还不够明显的话

添加兔子动作

import turtle# 设置画布和画笔
screen = turtle.Screen()
screen.bgcolor("black")
pen = turtle.Turtle()
pen.hideturtle()
pen.speed(0)# 定义月兔的形状和颜色
def draw_rabbit():pen.penup()pen.goto(-100, 0)pen.pendown()# 绘制月兔的头部pen.color("white")pen.begin_fill()pen.circle(50)pen.end_fill()# 绘制月兔的身体pen.penup()pen.goto(-100, -70)pen.pendown()pen.begin_fill()pen.circle(30)pen.end_fill()# 定义月兔的走动动作
def walk():x = -100y = -70angle = 0while x < 200:pen.clear()draw_rabbit()# 更新兔子的位置和角度x += 10y = -70 + 20 * abs((x+100) // 40 % 2 - 1) # 控制兔子跳动angle = (angle + 10) % 360# 移动兔子到新的位置并设置角度pen.penup()pen.goto(x, y)pen.setheading(angle)pen.pendown()# 绘制兔子draw_rabbit()turtle.delay(50)  # 控制兔子移动速度# 绘制兔子的初始状态
draw_rabbit()# 执行兔子的走动动作
walk()turtle.done()

 最后写出完整动画,

import turtle# 设置画布和画笔
screen = turtle.Screen()
screen.bgcolor("black")
pen = turtle.Turtle()
pen.hideturtle()
pen.speed(0)# 定义月兔的形状和颜色
def draw_rabbit():pen.penup()pen.goto(-100, 0)pen.pendown()# 绘制月兔的头部pen.color("white")pen.begin_fill()pen.circle(50)pen.end_fill()# 绘制月兔的身体pen.penup()pen.goto(-100, -70)pen.pendown()pen.begin_fill()pen.circle(30)pen.end_fill()# 定义月饼的形状和颜色
def draw_mooncake(color):pen.penup()pen.goto(100, 0)pen.pendown()# 绘制月饼pen.color(color)pen.begin_fill()pen.circle(30)pen.end_fill()# 定义月兔的走动动作
def walk():x = -100y = -70angle = 0while x < 200:pen.clear()draw_rabbit()# 更新兔子的位置和角度x += 10y = -70 + 20 * abs((x+100) // 40 % 2 - 1) # 控制兔子跳动angle = (angle + 10) % 360# 移动兔子到新的位置并设置角度pen.penup()pen.goto(x, y)pen.setheading(angle)pen.pendown()# 绘制兔子draw_rabbit()turtle.delay(50)  # 控制兔子移动速度# 定义月饼旋转消失又出现的动作
def rotate_and_disappear(color):pen.penup()pen.goto(100, 0)pen.pendown()for _ in range(2):pen.color(color)pen.begin_fill()pen.circle(30)pen.end_fill()pen.clear()turtle.delay(100)  # 控制月饼旋转速度# 绘制月兔和月饼的初始状态
draw_rabbit()
draw_mooncake("yellow")# 执行动画
walk()
rotate_and_disappear("red")turtle.done()

最后,融合俩代码:

成品

import turtle# 设置画布和画笔
screen = turtle.Screen()
screen.bgcolor("black")
pen = turtle.Turtle()
pen.hideturtle()
pen.speed(0)# 定义月兔的形状和颜色
def draw_rabbit():pen.penup()pen.goto(-100, 0)pen.pendown()# 绘制月兔的头部pen.color("white")pen.begin_fill()pen.circle(50)pen.end_fill()# 绘制月兔的身体pen.penup()pen.goto(-100, -70)pen.pendown()pen.begin_fill()pen.circle(30)pen.end_fill()# 定义月饼的形状和颜色
def draw_mooncake(color):pen.penup()pen.goto(100, 0)pen.pendown()# 绘制月饼pen.color(color)pen.begin_fill()pen.circle(30)pen.end_fill()# 定义月兔的走动动作
def walk():x = -100y = -70angle = 0while x < 200:pen.clear()draw_rabbit()# 更新兔子的位置和角度x += 10y = -70 + 20 * abs((x+100) // 40 % 2 - 1) # 控制兔子跳动angle = (angle + 10) % 360# 移动兔子到新的位置并设置角度pen.penup()pen.goto(x, y)pen.setheading(angle)pen.pendown()# 绘制兔子draw_rabbit()turtle.delay(50)  # 控制兔子移动速度# 定义月饼旋转消失又出现的动作
def rotate_and_disappear(color):pen.penup()pen.goto(100, 0)pen.pendown()for _ in range(2):pen.color(color)pen.begin_fill()pen.circle(30)pen.end_fill()pen.clear()turtle.delay(100)  # 控制月饼旋转速度# 绘制月兔和月饼的初始状态
draw_rabbit()
draw_mooncake("\033[33m")  # 黄色# 执行动画
walk()
rotate_and_disappear("red")turtle.done()

最后,代码解释 

这段代码使用Python的turtle模块绘制了一个动画,包括一个跳跃的月兔和一个旋转的月饼。

首先,设置画布和画笔:创建一个黑色背景的画布和一个隐藏的画笔,并将画笔速度设置为最快(speed(0))。

接下来,定义月兔和月饼的形状和颜色:使用pen.color()和pen.begin_fill()设置画笔颜色并开始填充,使用pen.circle()绘制圆形。形状绘制完成后,使用pen.end_fill()结束填充并将画笔抬起以便移动到新的位置。

然后,定义月兔的走动动作walk(): 月兔初始位置为(-100, 0),然后向右偏移10个像素,同时根据奇偶性控制兔子的跳跃行为。在更新兔子的位置和角度后,使用pen.goto()将画笔移动到新的位置并设置画笔角度,重新绘制月兔形状。

接着,定义月饼旋转消失又出现的动作rotate_and_disappear(color): 绘制一个红色的月饼,并通过循环让月饼不断旋转,然后清除画面,并在等待一段时间的间隔后再次绘制相同的月饼达到“消失又出现”的效果。

最后,绘制月兔和月饼的初始状态,并执行动画:调用draw_rabbit()函数和draw_mooncake()函数分别绘制月兔和月饼的初始状态。然后先让月兔跳跃并向右移动,随后让月饼旋转消失又出现。

在整个过程中,使用turtle.delay()方法控制动画的速度。

最后,如果需要更多更好看的代码请关注留言吧!

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

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

相关文章

字符流的使用(FileReader)

1、文件字符输入流&#xff1a;一次读取一个字符 1.1、字节流读取中文输出可能会存在什么问题&#xff1f; 会乱码。或者内存溢出。 1.2、读取中文输出&#xff0c;哪个流更合适&#xff0c;为什么&#xff1f; 字符流 更合适&#xff0c;最小单位是按照单个字符读取的。 packa…

http客户端Feign使用

一、RestTemplate方式调用存在的问题 先来看我们以前利用RestTemplate发起远程调用的代码&#xff1a; String url "http://userservice/user/" order.getUserId(); User user restTemplate.getForObject(url, User.class);存在下面的问题&#xff1a; 代码可读…

spring_javaConfig实现配置

现在我们尝试不使用Spring的XML文件来配置了&#xff0c;全权交给Java来做 1 编写pojo类 这个类要被Spring接管&#xff0c;要被注册到容器中 添加Component注解通过Value注解来为属性注入值 package com.wq.pojo;import org.springframework.beans.factory.annotation.Value…

怒刷LeetCode的第1天(Java版)

目录 第一题 题目来源 题目内容 解决方法 方法一&#xff1a;暴力枚举 方法二&#xff1a;哈希表 第二题 题目来源 题目内容 解决方法 方法一&#xff1a;动态规划 第三题 题目来源 题目内容 解决方法 方法一&#xff1a;模拟 第一题 题目来源 两数之和 - 力…

Python实现查询一个文件中的pdf文件中的关键字

要求&#xff0c;查询一个文件中的pdf文件中的关键字&#xff0c;输出关键字所在PDF文件的文件名及对应的页数。 import os import PyPDF2def search_pdf_files(folder_path, keywords):# 初始化结果字典&#xff0c;以关键字为键&#xff0c;值为包含关键字的页面和文件名列表…

一篇文章教你Pytest快速入门和基础讲解,一定要看!

前言 目前有两种纯测试的测试框架&#xff0c;pytest和unittestunittest应该是广为人知&#xff0c;而且也是老框架了&#xff0c;很多人都用来做自动化&#xff0c;无论是UI还是接口pytest是基于unittest开发的另一款更高级更好用的单元测试框架出去面试也好&#xff0c;跟别…

【漏洞复现】泛微e-office OfficeServer2.php 存在任意文件读取漏洞复现

文章目录 前言声明一、漏洞描述二、漏洞分析三、漏洞复现四、修复建议前言 泛微e-office OfficeServer2.php 存在任意文件读取漏洞,攻击者可通过构造特定Payload获取敏感数据信息。 声明 请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造…

数据结构_复杂度讲解(附带例题详解)

文章目录 前言什么是数据结构&#xff1f;什么是算法&#xff1f;一. 算法的时间复杂度和空间复杂度1.1 算法效率1.2 如何衡量一个算法好坏 二. 时间复杂度2.1 时间复杂度概念例题一例题一分析 实例一实例一分析 三. 空间复杂度实例实例问题解析 四. 常见复杂度对比五. 常见时间…

netty server端启动源码阅读分析

服务端的启动通过ServerBootstrap类来完成&#xff0c;ServerBootstrap内有以下主要属性 ServerBootstrap extends AbstractBootstrap {//处理channel连接事件的线程组EventLoopGroup group;//处理channel其它事件的线程组EventLoopGroup childGroup;//创建channel的工厂类Cha…

MySQL 创建用户,修改用户,授权,删除用户等操作命令

MySQL 创建用户&#xff0c;修改用户&#xff0c;授权&#xff0c;删除用户等操作命令 MySQL 数据库创建用户并授权 # 创建 gogs 用户并初始化密码 create user gogs127.0.0.1 IDENTIFIED WITH mysql_native_password by IjaGoGsNl2; # 授权 grant SELECT, INSERT, UPDATE, D…

基于Yolov8的野外烟雾检测(3):动态蛇形卷积(Dynamic Snake Convolution),实现暴力涨点 | ICCV2023

目录 1.Yolov8介绍 2.野外火灾烟雾数据集介绍 3.Dynamic Snake Convolution 3.1 Dynamic Snake Convolution加入到yolov8 4.训练结果分析 5.系列篇 1.Yolov8介绍 Ultralytics YOLOv8是Ultralytics公司开发的YOLO目标检测和图像分割模型的最新版本。YOLOv8是一种尖端的、最…

设计模式——职责链模式

职责链模式 职责链模式职责链模式解决什么问题&#xff1f;职责链模式实现 职责链模式 使多个对象都有机会处理请求&#xff0c;从而避免请求的发送者和接收者之间的耦合关系。将这个对象练成一条链&#xff0c;并沿着这条链传递该请求&#xff0c;知道有一个对象处理它为止 …

e签宝,再「进化」

基于ePaaS&#xff0c;e签宝不仅打造了电子签领域的生态圈&#xff0c;也正在赋能整个SaaS行业奔向生态化的良性业态&#xff0c;这将使得SaaS厂商的边界愈发清晰&#xff0c;逐渐实现“量产”&#xff0c;奔向规模化。 作者|斗斗 出品|产业家 1957年11月&#xff0c;江苏…

基于Yolov8的野外烟雾检测(2):多维协作注意模块MCA,效果秒杀ECA、SRM、CBAM等 | 2023.9最新发布

目录 1.Yolov8介绍 2.野外火灾烟雾数据集介绍 3.MCA介绍 4.训练结果分析 5.系列篇 1.Yolov8介绍 Ultralytics YOLOv8是Ultralytics公司开发的YOLO目标检测和图像分割模型的最新版本。YOLOv8是一种尖端的、最先进的&#xff08;SOTA&#xff09;模型&#xff0c;它建立在先前…

phantomjs插件---实现通过链接生成网页截图

Phantomjs | PhantomJS 配置要求 windows下&#xff0c;安装完成phantomJS 设置phantomjs环境变量【也可直接使用phantomjs目录下的执行文件】 直接通过访问php文件执行/通过cmd命令行执行【phantomjs phantom_script.js】 linux下,安装完成phantomJS 设置phantomjs环境变量 直…

Jetpack Compose基础组件 - Image

Image的源码参数预览 Composable fun Image(painter: Painter,contentDescription: String?,modifier: Modifier Modifier,alignment: Alignment Alignment.Center,contentScale: ContentScale ContentScale.Fit,alpha: Float DefaultAlpha,colorFilter: ColorFilter? …

【业务功能篇108】CDN Nginx

CDN&#xff08;内容分发网络&#xff09;&#xff1a; CDN是一种分布式网络架构&#xff0c;通过将内容存储在多个地理位置的服务器上&#xff0c;以降低用户访问这些内容的延迟时间。这些服务器通常分布在全球各个地点&#xff0c;可以更快地向用户提供内容&#xff0c;减少了…

go net/http 源码解读

回顾 1. HTTP Server 在 go 中启动一个 http server 只需短短几行代码 func PingHandler(w http.ResponseWriter, r *http.Request) {io.WriteString(w, "pong!") }func main() {http.HandleFunc("/ping", PingHandler)log.Fatal(http.ListenAndServe(&…

问题记录:飞腾板卡,系统时启动卡住

这是一篇旧记录,但目前调试依然适用。 2019年12月份记录: FT-15000A/16核板卡,系统启动过程卡在麒麟图标处,无法稳定启动。 硬件环境: FT-1500A/16+显卡e8860+USB uPD720201+SATA 88SE9215 ‍ 现象描述: 现象1:使用两片进口LTM4620为CPU核电供电,常温16核工作正常…

如何去掉word上方页眉处的横线

一、问题描述 有时候word总会莫名其妙在页眉处出现一条横线&#xff0c;如图&#xff1a; 二、解决步骤 1.首先点击任一页眉进入页眉编辑状态&#xff0c;然后点击设计&#xff1a; 2.选择页面边框&#xff1a; 3.选择边框——选择无——选择应用于段落——完成。