【python】为你绘制玫瑰一束,爱意永存

news2025/8/6 3:51:00

前言

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

若是有真情,爱意如溪水,

若是有真爱,爱意如阳光,

若是两情相悦,又岂在朝朝暮暮,

女子淡淡的情愫,深深地想念,

浓浓的爱意,蜜蜜的言语,醉了他的情,醉了他的意。

在这特别得一天给大家带来一个玫瑰花代码

更多教程源码资料电子书: 点击此处跳转文末名片获取

开发环境:

  • python 3.8 运行代码

  • pycharm 2022.3 辅助敲代码

模块使用:

本次使用均为内置模块,无需安装,导入即可使用

  • random是取随机数的模块

  • time是时间模块

  • turtle是绘图模块

  • math提供了一些基础的计算功能

代码展示

导入模块

import math
import time
import random
import turtle as t
list1=[]
for i in range(5):
    list1.append(int(random.uniform(-500,500)))
list2=[]
for i in range(5):
    list2.append(int(random.uniform(-200,-50)))
list3=[]
for i in range(8):
    list3.append(int(random.uniform(-400,400)))
list4=[]
for i in range(8):
    list4.append(int(random.uniform(-150,-50)))
list5=[]
for i in range(7):
    list5.append(int(random.uniform(-300,300)))
list6=[]
for i in range(7):
    list6.append(int(random.uniform(-200,-100)))
list7=[]
for i in range(18):
    list7.append(int(random.uniform(-500,500)))
list8=[]
for i in range(18):
    list8.append(int(random.uniform(-100,100)))
def move_pen_position(x, y):
    t.hideturtle()  # 隐藏画笔(先)
    t.up()  # 提笔
    t.goto(x, y)  # 移动画笔到指定起始坐标(窗口中心为0,0)
    t.down()  # 下笔
    t.showturtle()  # 显示画笔
love = input("请输入表白话语,默认为I LOVE U:")
signature = input("请签署你的名字:")
date=input("请写上日期:")
if love == '':
    love = 'I Love U'

初始化

t.setup(width=800, height=500)  # 窗口(画布)大小
t.color('red', 'pink')  # 画笔颜色
t.pensize(3)  # 画笔粗细
t.speed(0)  # 描绘速度

画大号爱心(位置随机)

for x,y in list(zip(list1,list2)):
    t.penup()
    t.goto(x, y)
    t.pendown()
    t.fillcolor("#A020F0")
    t.begin_fill()
    t.pencolor("#A020F0")
    t.forward(40)
    t.circle(20, 180)
    t.right(90)
    t.circle(20, 180)
    t.forward(40)
    t.end_fill()
    t.penup()
    t.goto(x, y)    

画中号爱心(位置随机)

for x,y in list(zip(list5,list6)):
    t.pendown()
    t.fillcolor("#DA70D6")
    t.begin_fill()
    t.pencolor("#DA70D6")
    t.forward(30)
    t.circle(15, 180)
    t.right(90)
    t.circle(15, 180)
    t.forward(30)
    t.end_fill()
    t.penup()
    t.goto(x, y)

画小号爱心(位置随机)

for x,y in list(zip(list3,list4)):
    t.pendown()
    t.fillcolor("#DDA0DD")
    t.begin_fill()
    t.pencolor("#DDA0DD")
    t.forward(20)
    t.circle(10,180)
    t.right(90)
    t.circle(10,180)
    t.forward(20)
    t.end_fill()
    t.penup()
    t.goto(x, y)

画点点(位置随机)

for x,y in list(zip(list7,list8)):
    t.pendown()
    t.fillcolor("#7B6BEE")
    t.begin_fill()
    t.pencolor("#7B6BEE")
    t.circle(3, 360)
    t.end_fill()
    t.penup()
    t.goto(x, y)
def DegreeCurve(n, r, d=1):
    for i in range(n):
        t.left(d)
        t.circle(r, abs(d))

初始位置设定

s = 0.2
# t.setup(450*5*s, 750*5*s)
t.pencolor("black")
t.fillcolor("#8A2BE2")
t.speed(100)
t.penup()
t.goto(0, 900*s)
t.pendown()

绘制花朵形状

t.begin_fill()
t.circle(200*s,30)
DegreeCurve(60, 50*s)
t.circle(200*s,30)
DegreeCurve(4, 100*s)
t.circle(200*s,50)
DegreeCurve(50, 50*s)
t.circle(350*s,65)
DegreeCurve(40, 70*s)
t.circle(150*s,50)
DegreeCurve(20, 50*s, -1)
t.circle(400*s,60)
DegreeCurve(18, 50*s)
t.fd(250*s)
t.right(150)
t.circle(-500*s,12)
t.left(140)
t.circle(550*s,110)
t.left(27)
t.circle(650*s,100)
t.left(130)
t.circle(-300*s,20)
t.right(123)
t.circle(220*s,57)
t.end_fill()

绘制花枝形状

t.left(120)
t.fd(280*s)
t.left(115)
t.circle(300*s,33)
t.left(180)
t.circle(-300*s,33)
DegreeCurve(70, 225*s, -1)
t.circle(350*s,104)
t.left(90)
t.circle(200*s,105)
t.circle(-500*s,63)
t.penup()
t.goto(170*s,-30*s)
t.pendown()
t.left(160)
DegreeCurve(20, 2500*s)
DegreeCurve(220, 250*s, -1)

绘制一个绿色叶子

t.fillcolor('#00CD00')
t.penup()
t.goto(670*s,-180*s)
t.pendown()
t.right(140)
t.begin_fill()
t.circle(300*s,120)
t.left(60)
t.circle(300*s,120)
t.end_fill()
t.penup()
t.goto(180*s,-550*s)
t.pendown()
t.right(85)
t.circle(600*s,40)

绘制另一个绿色叶子

t.penup()
t.goto(-150*s,-1000*s)
t.pendown()
t.begin_fill()
t.rt(120)
t.circle(300*s,115)
t.left(75)
t.circle(300*s,100)
t.end_fill()
t.penup()
t.goto(430*s,-1070*s)
t.pendown()
t.right(30)
t.circle(-600*s,35)
move_pen_position(300, -280)
# font:设定字体、尺寸(电脑下存在的字体都可设置)  align:中心对齐
t.write(love, font=('Arial', 20, 'bold'), align="center")

签写署名和日期

if (signature != '') & (date != ''):
    t.color('red', 'pink')
    time.sleep(2)
    move_pen_position(300, -320)
    t.hideturtle()  # 隐藏画笔
    t.write(signature, font=('Arial', 20), align="center")
    move_pen_position(300, -350)
    t.hideturtle()  # 隐藏画笔
    t.write(date, font=('Arial', 20), align="center")
    #1-5点击窗口关闭程序
window = t.Screen()
window.exitonclick()

爱意语录


我用短信表心意,将我爱意传予你,请你不要太在意,

你有真意我珍惜,将我诚意说与你,爱你爱你就爱你!


用最少语言,诉说给你最真的我。

用最纯的心,思念我最想的你。用最多的爱,呵护我最爱的你。


爱 是天意,一年一年,斗转星移,不求惊天动地,只想一爱到底


雨露花香是伴侣,蝴蝶双飞多甜蜜。缘分注定是天意,相爱不易多珍惜。

怀抱有你同呼吸,情意绵绵赏烟雨。两心长恋带笑意,幸福年年新天地。


最美的相遇,在岁月中沉淀,执笔流年,那些甜蜜心语,醉了时光。

蓦然回首,一往情深依旧,浪漫在时间与空间里独舞,用爱写满未来的信笺。爱你一生一世!


尾语 💝

要成功,先发疯,下定决心往前冲!

学习是需要长期坚持的,一步一个脚印地走向未来!

未来的你一定会感谢今天学习的你。

—— 心灵鸡汤

本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦 😝

👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇

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

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

相关文章

Linux :理解编译的四个阶段

目录一、了解编译二、认识编译的四个阶段(一)预处理(二)编译(三)汇编(四)链接1.静态链接2.动态链接三、分步编译(一)创建.c文件(二)预…

【项目】Java树形结构集合分页,java对list集合进行分页

Java树形结构集合分页需求难点实现第一步:查出所有树形集合数据 (需进行缓存处理)selectTree 方法步骤:TreeUtil类:第二步:分页 GoodsCategoryController分页getGoodsCategoryTree方法步骤:第三…

MySQL数据库基本操作-DQL

概念 数据库管理系统一个重要功能就是数据查询,数据查询不应只是简单返回数据库中存储的数据,还应该根据需要对数据进行筛选以及确定数据以什么样的格式显示。 MySQL提供了功能强大、灵活的语句来实现这些操作。 MySQL数据库使用select语句来查询数据 语…

ansible组件介绍和简单playbook测试

一、ansible inventory 在大规模的配置管理工作中,管理不同业务的机器,机器的信息都存放在ansible的inventory组件里面。在工作中,配置部署针对的主机必须先存放在Inventory里面,然后ansible才能对它进行操作。默认的Ansible的in…

docker常用命令,基于linux+centos7

启动docker systemctl start docker 重启docker systemctl restart docker docker自启动 systemctl enable docker 查看所有docker,包括正在运行的和关闭的 docker ps -a 查看正在运行的docker docker ps 停止正在运行的docker。通过id或者docker名称 do…

Ceph介绍

分布式存储概述 常用的存储可以分为DAS、NAS和SAN三类 DAS:直接连接存储,是指通过SCSI接口或FC接口直接连接到一台计算机上,常见的就是服务器的硬盘NAS:网络附加存储,是指将存储设备通过标准的网络拓扑结构&#xff…

client打包升级

目录 前言 一、client如何打包升级? 二、使用步骤 1.先进行改版本 2.执行打包升级命令 总结 前言 本文章主要记录一下,日常开发中,常需要进行打包升级的步骤。 一、client如何打包升级? # 升级发布版本 ## 修改版本 * 父p…

链表经典面试题【典中典】

💯💯💯链表经典面试题❗❗❗炒鸡经典,本篇带有图文解析,建议动手刷几遍。🟥1.反转链表🟧2.合并两个有序链表🟨3.链表分割🟩4.链表的回文结构🟦5.相交链表&…

74. ‘pip‘不是内部或外部命令,也不是可运行的程序-解决办法

74. pip’不是内部或外部命令,也不是可运行的程序-解决办法 文章目录74. pip不是内部或外部命令,也不是可运行的程序-解决办法1. 课题导入2. 手动配置环境变量1. 准备工作2. 配置步骤3. 命令行安装1. 课题导入 有的同学在使用pip安装第三方库时&#xf…

elasticsearch 分布式搜索引擎1

1.初识elasticsearch 1.1.了解ES 1.1.1.elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 例如: 在GitHub搜索代码 在电商网站搜索商品 在百度搜索答案 在…

WorksPace一款简化修改IP繁琐重复性工作的高效工具

WorksPace简介 workspace软件中文版是一个集成修改网卡IP、网络扫描、记事本、快速启动的效率工具,前端使用Flutter,后端主要是Dart,少量的后台功能用以前Golang,数据存储使用SQLite。主要是为了简化我在日常工作中的频繁重复操作…

app里未读消息已读、未读是怎么设计的?

也不知道大家目前都用的java编程软件有哪些,毕竟在应用程序中,未读和已读消息的设计取决于应用程序的需求和目标。下面是一些常见的设计模式:一、简单的未读/已读标记简单的未读/已读标记:这是最常见的设计,用户打开应…

Linux - Linux系统优化思路

文章目录影响Linux性能的因素CPU内存磁盘I/O性能网络宽带操作系统相关资源系统安装优化内核参数优化文件系统优化应用程序软件资源系统性能分析工具vmstat命令iostat命令sar命令系统性能分析标准小结影响Linux性能的因素 CPU CPU是操作系统稳定运行的根本,CPU的速…

一元导数与多元求导数总结

前序:文章结构 1.一元导数 ①一般函数求导 因为太简单的原因,事实上一般函数求导不会单独出现,大多数都是出现在各种特殊的求导过程中。只要掌握16个基本求导公式没问题。 ②复合函数求导(主要链式法则) 这种一般是…

流量监管与整形

流量监管与整形概览流量监管介绍流量监管令牌桶流量监管的具体实现单桶单速流量监管双桶单速流量监管双桶双速流量监管流量整形介绍GTS(Generic Traffic Shaping)LR(Line Rate)流量整形与流量监管的区别概览 流量整形是对报文的速…

某美颜app sig参数分析

之前转载过该app的文章,今天翻版重新整理下,版本号:576O5Zu56eA56eAYXBwIHY5MDgw (base64 解码)。 上来先抓个包: jadx搜索关键词 "sigTime",然后定位到这里 看这行代码 cVar.addForm(INoCaptchaComponent.sig, genera…

NAST概述

一、NATS介绍 NATS是由CloudFoundry的架构师Derek开发的一个开源的、轻量级、高性能的,支持发布、订阅机制的分布式消息队列系统。它的核心基于EventMachine开发,代码量不多,可以下载下来慢慢研究。 不同于Java社区的kafka,nats…

C++小白入门

1.1编写程序四步走&#xff1a;创建项目创建文件编写代码运行程序解决方案资源管理器&#xff1a;在新创建的项目下右键“源文件”-添加-“新建项”-“C文件&#xff08;.cpp&#xff09;”&#xff0c;给文件取名#include <iostream> using namespace std;int main() {c…

JavaScript新手学习手册-基础代码(二)

与上篇博客相接 一&#xff1a;函数&#xff1a; 案例&#xff1a;通过函数实现绝对值的输出 方法一&#xff1a; function absoluate(x){if(x>0){return x;}else{ return -x;}} 在控制台调用函数 方法二&#xff1a; var demo1 function(x){if(x>0){return x;}els…

springboot项目如何配置启动端口

文章目录0 写在前面1 配置文件(.yaml)--推荐2 配置文件(.properties)3 IDEA配置--不推荐4 写在最后0 写在前面 项目启动需要一个独立的端口&#xff0c;所以在此记录一下。 根据配置文件的后缀书写格式略有不同。 1 配置文件(.yaml)–推荐 若是.yaml后缀的配置文件&#xff0…