动态的中秋爱心演示送女友用python生成爱心软件文末附c++语言写法

news2025/1/11 5:49:49

用python生成爱心软件

用python生成动态爱心软件

目录

用python生成爱心软件

完整代码 

代码解释

逐句解释 

效果展示: 

 如何打包

c++写法


完整代码 

import turtle

def draw_heart():
    love = turtle.Turtle()
    love.getscreen().bgcolor("black")
    love.color("red")
    love.speed(3)
    love.begin_fill()
    love.fillcolor("red")
    love.left(140)
    love.forward(224)
    for _ in range(200):
        love.right(1)
        love.forward(2)
    love.left(120)
    for _ in range(200):
        love.right(1)
        love.forward(2)
    love.forward(224)
    love.end_fill()
    turtle.done()

def send_mid_autumn_love_to_girlfriend():
    print("正在生成中秋爱心动画,请稍等片刻...")
    draw_heart()
    print("亲爱的,中秋节到了,在这个美好的时刻,我想对你说:")
    print("你是我生命中的月光,照亮了我的每一天;")
    print("你像皓月般明亮温暖,给我带来无尽的欢乐和幸福;")
    print("愿我们的爱情如同中秋的圆月,永远圆满和美好;")
    print("祝你中秋快乐,幸福永伴!爱你宝贝~")

send_mid_autumn_love_to_girlfriend()

代码解释

这段代码使用了Python的turtle模块来绘制一个动态的中秋爱心。

首先,我们创建了一个turtle对象,命名为love。然后,通过设置背景颜色和画笔颜色,以及调整速度等参数来配置画布和画笔的属性。接着,我们开始填充心形的颜色。

画心形的过程采用了一种特殊的方法,即通过多次旋转和前进的动作来逐步绘制心形的轮廓。具体而言,先向左旋转140度,然后向前移动224个像素,接着通过循环来绘制上半部分的曲线,再向左旋转120度,最后通过循环来绘制下半部分的曲线。

绘制完成后,我们使用turtle.done()来保持窗口的显示,直到手动关闭为止。

最后,我们编写了一个函数send_mid_autumn_love_to_girlfriend()来打印相应的祝福文本,并调用了draw_heart()函数来生成中秋爱心动画。

注意,运行该代码时需要安装turtle模块,可以通过执行"pip install turtle"来进行安装。

逐句解释 

  1. import turtle:导入turtle模块,用于绘制图形。

  2. def draw_heart()::定义一个名为draw_heart的函数,用于绘制心形图案。

  3. love = turtle.Turtle():创建了一个名为love的turtle对象,用于进行绘图操作。

  4. love.getscreen().bgcolor("black"):设置画布背景色为黑色。

  5. love.color("red"):设置画笔颜色为红色。

  6. love.speed(3):设置画笔移动速度为3(中等速度)。

  7. love.begin_fill():开始填充。

  8. love.fillcolor("red"):设置填充颜色为红色。

  9. love.left(140):向左旋转140度。

  10. love.forward(224):向前移动224个像素。

  11. for _ in range(200)::循环200次,用于绘制上半部分的曲线。

  12. love.right(1):向右旋转1度。

  13. love.forward(2):向前移动2个像素。

  14. love.left(120):向左旋转120度。

  15. for _ in range(200)::循环200次,用于绘制下半部分的曲线。

  16. love.right(1):向右旋转1度。

  17. love.forward(2):向前移动2个像素。

  18. love.forward(224):向前移动224个像素。

  19. love.end_fill():结束填充。

  20. turtle.done():保持窗口显示。

  21. def send_mid_autumn_love_to_girlfriend()::定义一个名为send_mid_autumn_love_to_girlfriend的函数,用于发送中秋节爱心祝福给女友。

  22. print("正在生成中秋爱心动画,请稍等片刻..."):打印信息提示正在生成中秋节爱心动画。

  23. draw_heart():调用draw_heart()函数,绘制中秋爱心动画。

  24. print("亲爱的,中秋节到了,在这个美好的时刻,我想对你说:"):打印中秋节祝福语。

  25. print("你是我生命中的月光,照亮了我的每一天;"):打印表达爱意的句子。

  26. print("你像皓月般明亮温暖,给我带来无尽的欢乐和幸福;"):打印表达爱意的句子。

  27. print("愿我们的爱情如同中秋的圆月,永远圆满和美好;"):打印表达爱意的句子。

  28. print("祝你中秋快乐,幸福永伴!爱你宝贝~"):打印中秋节祝福语。

效果展示: 

效果既然展示完了那我们把他直接打包成软件发给女朋友吧!

 如何打包

要将Python代码打包成可执行的软件,您可以使用PyInstaller、py2exe、cx_Freeze等工具。下面以PyInstaller为例,提供一个简单的步骤指南:

  1. 安装PyInstaller:在命令行中执行 pip install pyinstaller 来安装PyInstaller。

  2. 进入您的Python代码所在的目录。

  3. 在命令行中执行 pyinstaller --onefile your_script.py,其中 your_script.py 是您要打包的Python脚本文件名。

  4. 执行上述命令后,PyInstaller会开始分析并打包您的代码。完成后,您将在当前目录中的dist文件夹内找到一个与脚本同名的可执行文件。

请注意,有些Python模块或依赖可能无法被自动检测和包含在可执行文件中,您需要手动添加这些依赖或进行其他额外的设置。每个打包工具都有自己的特定用法和配置选项,您可以参考相应工具的文档了解更多详细信息。

c++写法

#include <graphics.h>

void drawHeart() {
    initwindow(800, 600); // 创建一个窗口
    setbkcolor(BLACK);
    
    setcolor(RED);
    setfillstyle(SOLID_FILL, RED);

    int x = 400;
    int y = 300;
    int radius = 150;

    // 绘制半个心形
    arc(x-radius/2, y, 0, 180, radius/2);
    arc(x+radius/2, y, 0, 180, radius/2);
    line(x-radius/2, y+radius/2, x, y+radius);
    line(x+radius/2, y+radius/2, x, y+radius);
    
    // 填充心形
    floodfill(x, y, RED);

    delay(5000); // 延迟5秒钟
    closegraph(); // 关闭图形窗口
}

void sendMidAutumnLoveToGirlfriend() {
    cout << "正在生成中秋爱心动画,请稍等片刻..." << endl;
    drawHeart();
    cout << "亲爱的,中秋节到了,在这个美好的时刻,我想对你说:" << endl;
    cout << "你是我生命中的月光,照亮了我的每一天;" << endl;
    cout << "你像皓月般明亮温暖,给我带来无尽的欢乐和幸福;" << endl;
    cout << "愿我们的爱情如同中秋的圆月,永远圆满和美好;" << endl;
    cout << "祝你中秋快乐,幸福永伴!爱你宝贝~" << endl;
}

int main() {
    sendMidAutumnLoveToGirlfriend();
    return 0;
}

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

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

相关文章

python使用execjs利用jsdom来执行含有document的js代码方案(上)

先说一下环境&#xff1a;win7 64位&#xff0c;python3.8.10。 python使用execjs执行含有document的js代码时&#xff0c;会出现报错&#xff1a; execjs._exceptions.ProgramError: TypeError: document 未定义 原因是纯js代码中是不包含浏览器里对象的(如document、windo…

结构体变量的初始化和引用

任务描述 本关任务&#xff1a;从键盘输入两个学生的学号&#xff0c;姓名和成绩&#xff08;整数&#xff09;&#xff0c;分别存入结构体中&#xff0c;输出成绩较高的学生的学号&#xff0c;姓名和成绩。 相关知识 结构体类型用于描述由多个不同数据类型的数据构成的复合…

ENSP防火墙错误40解决办法

推荐版本&#xff1a; win10&#xff1a;ensp-1.3.00、virtualbox-5.2.40 win11&#xff1a;ensp-1.3.00、virtualbox-5.2.44 错误代码40 一、安装路径中不可有中文字符&#xff0c;最好直接安装在默认路径 双击安装好的vbox软件看能否运行&#xff0c;如果可以则跳过该步骤…

C语言入门log02

2023.9.17 周日 江苏 软件&#xff1a;visual studio 2017 &#xff1b;注释快捷键 ctrlk&#xff0c;ctrlc&#xff1b;运行快捷键 ctrlf5 B站视频 P2 #define _CRT_SECURE_NO_WARNINGS 1 用于vs软件的scanf函数报错。 设置方法打开文件粘贴这句话&#xff0c;如果无法…

VuePress网站如何使用axios请求第三方接口

前言 VuePress是一个纯静态网站生成器,也就是它是无后端,纯前端的,那想要在VuePress中,发送ajax请求,请求一些第三方接口,有时想要达到自己一些目的 在VuePress中&#xff0c;使用axios请求第三方接口&#xff0c;需要先安装axios&#xff0c;然后引入&#xff0c;最后使用 本文…

沈阳建筑大学《乡村振兴战略下传统村落文化旅游设计》 许少辉八一著作

沈阳建筑大学《乡村振兴战略下传统村落文化旅游设计》 许少辉八一著作

【自学开发之旅】Flask-前后端联调-异常标准化返回

注册联调&#xff1a; 前端修改&#xff1a; 1.修改请求向后端的url地址 文件&#xff1a;env.development修改成VITE_API_TARGET_URL http://127.0.0.1:9000/v1 登录&#xff1a;token验证 校验forms/user.py from werkzeug.security import check_password_hash# 登录校验…

[计组03]进程详解2

目录 应用程序 系统调用 驱动 软件 再看进程 进程管理 如何管理 ? 创建一个进程 注意 PCB 文件描述表 进程相关重点 为什么有进程调度 虚拟空间地址 这次我们从更加详细全面的角度看一下进程在计算机中体系中的展现 应用程序 应用程序 调动 系…

Maxon Cinema 4D 2024:创新功能助力新境界

Maxon的Cinema 4D 2024是一款在全球范围内广受赞誉的三维动画和建模软件。新版本在速度、性能、本地化、功能增强等多个方面进行了全面的提升&#xff0c;为用户提供了更加流畅、高效且丰富的创作体验。 飞一般的速度 Cinema 4D 2024在速度上较之前的版本有了显著的提升&…

【c++GDAL】IHS融合

【c&GDAL】IHS融合 基于IHS变换融合&#xff0c;实现多光谱和全色影像之间的融合。IHS分别指亮度(I)、色度(H)、饱和度(S)。IHS变换融合基于亮度I进行变换&#xff0c;色度和饱和度空间保持不变。 IHS融合步骤&#xff1a; &#xff08;1&#xff09;将多光谱RGB影像变换到…

拥塞控制概念

网络拥塞 何为拥塞控制&#xff1f;拥塞控制是指在计算机网络中&#xff0c;通过监测网络的拥塞程度并采取相应的措施来维持网络的稳定运行的方法。它的主要目标是确保网络资源的合理利用&#xff0c;避免网络拥塞导致的性能下降和服务质量下降。 为什么需要拥塞控制&#xf…

【力扣每日一题】2023.9.17 打家劫舍Ⅱ

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 打家劫舍2在1的基础上增加了一个规则&#xff0c;那就是房屋是首尾相连的。 这对我们解题有什么影响呢&#xff1f; 唯一的影响就是我们…

数据结构:树和二叉树之-堆排列 (万字详解)

目录 树概念及结构 1.1树的概念 1.2树的表示 ​编辑2.二叉树概念及结构 2.1概念 2.2数据结构中的二叉树&#xff1a;​编辑 2.3特殊的二叉树&#xff1a; ​编辑 2.4 二叉树的存储结构 2.4.1 顺序存储&#xff1a; 2.4.2 链式存储&#xff1a; 二叉树的实现及大小堆…

Logrus日志

目录 一、Logrus 1、Logrus使用 1、下载Logrus第三方库&#xff1a; 2、日志配置文件 3、加载日志配置文件 4、初始化日志记录器 5、在main.go中加载init函数 一、Logrus 日志的重要性及作用 日志是程序的重要组成部分 1.记录用户操作的审计日志 2.快速定位问题的根源…

【计算机视觉】Vision Transformers算法介绍合集(三)

文章目录 一、OODformer二、Colorization Transformer三、MUSIQ四、LeVIT五、Visformer六、Twins-PCPVT七、Conditional Position Encoding Vision Transformer八、Twins-SVT九、Shuffle Transformer十、RegionViT十一、LocalViT十二、EsViT十三、Multi-Heads of Mixed Attenti…

推荐一个页面引导库 driver_js

推荐一个页面引导库 driver.js 页面引导功能是 web 开发中常见的一个功能。通过页面引导功能&#xff0c;你可以让用户第一时间熟悉你的页面功能。今天给大家推荐一个页面引导库 driver.js。 1 简介 driver.js 是一款用原生 js 实现的页面引导库&#xff0c;上手非常简单&am…

远程连接PostgreSQL:配置指南与安全建议

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f405;&#x1f43e;猫头虎建议程序员必备技术栈一览表&#x1f4d6;&#xff1a; &#x1f6e0;️ 全栈技术 Full Stack: &#x1f4da…

UDP/TCP 最大可传输单元细节可不少~

一、MTU 简述 - 分包后数据包最大长度 1、定义 Maximum Transmission Unit&#xff08;最大可传输单元&#xff09; 的缩写&#xff0c;它的单位是字节。在 *数据链路层* 定义 一个数据包穿过一个大的网络&#xff0c;它其间会穿过多个网络&#xff0c;每个网络的 MTU 值是不…

探索Adobe Photoshop 2024:新功能与增强功能详解

Adobe Photoshop 2024&#xff0c;这款传奇的图像编辑软件&#xff0c;近期又迎来了一些令人振奋的新特性。对于专业设计师和摄影爱好者来说&#xff0c;Photoshop 的每次更新都牵动着他们的心。那么&#xff0c;这次的新版本究竟带来了哪些值得我们期待的功能呢&#xff1f;且…

GDB之打印函数堆栈(十二)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…