Python画各种爱心

article/2025/1/14 0:50:25

目录

  • 一行代码画爱心
    • 拆解
  • 输出 I ❤ U
  • 填充型
  • 动态画红心
    • 桃心
    • 线性
    • 立体红心
  • 玫瑰

一行代码画爱心

print('\n'.join([''.join([('Love'[(x-y)%len('Love')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0 else' ') for x in range(-30,30)]) for y in range(15,-15,-1)]))

在这里插入图片描述

拆解

a = [''.join([('Love'[(x-y)%len('Love')]if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0 else' ')for x in range(-30,30)])for y in range(15,-15,-1)]print('\n'.join(a))

输出 I ❤ U

空格与星号可以换位置,运行会有不一样的效果。

import time
y = 2.5
while y>=-1.6:x = -3.0while x<=4.0:if (x*x+y*y-1)**3<=3.6*x*x*y*y*y or (x>-2.4 and x<-2.1 and y<1.5 and y>-1) or (((x<2.5 and x>2.2)or(x>3.4 and x<3.7)) and y>-1 and y<1.5) or (y>-1 and y<-0.6 and x<3.7 and x>2.2):print('*',end="")else:print(' ',end="")x += 0.1print()time.sleep(0.25)y -= 0.2

在这里插入图片描述

填充型

输出五个爱心,分别由Dear I love you forever! 五个单词填充而成。

import time
sentence = "Dear, I love you forever!"
for char in sentence.split():allChar = []for y in range(12, -12, -1):lst = []lst_con = ''for x in range(-30, 30):formula = ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3if formula <= 0:lst_con += char[(x) % len(char)]else:lst_con += ' 'lst.append(lst_con)allChar += lstprint('\n'.join(allChar))time.sleep(1)

动态画红心

桃心

import turtle
import time
def LittleHeart():for i in range(200):turtle.right(1)turtle.forward(2)# love = input('请输入表白语句,然后回车,默认为"I Love You":\n')
# me = input('请输入要表白的人:\n')
# if love=='':
# # 如果未输入表白语句,则使用默认语句
#     love='I Love you'love='I Love you'
me = 'XXX'turtle.setup(width=900,height=600)  # 爱心的画布的大小
turtle.color('red','red')          # 爱心的颜色及外边笔的颜色
turtle.pensize(5)                   # 画笔的粗细
turtle.speed(1000000)               # 绘制速度turtle.up()                         # 画笔向上turtle.hideturtle()
turtle.goto(0,-180)
turtle.showturtle()
turtle.down()
turtle.speed(5)
turtle.begin_fill()# 开始填充
turtle.left(140)
turtle.forward(224)
LittleHeart()
turtle.left(120)
LittleHeart()
turtle.forward(224)
turtle.end_fill()
turtle.pensize(5)
turtle.up()
turtle.hideturtle()
turtle.goto(0,0)
turtle.showturtle()
turtle.color('#CD5C5C','pink')
turtle.write(love,font=('gungsuh',30,),align="center")
turtle.up()
turtle.hideturtle()if me !='':turtle.color('black', 'pink')time.sleep(2)turtle.goto(180,-180)turtle.showturtle()turtle.write(me, font=(20,), align="center", move=True)window=turtle.Screen()window.exitonclick()

线性

import turtle
import math
turtle.pen()
t=turtle
t.up()
t.goto(0,150)
t.down()
t.color('red')
t.begin_fill()
t.fillcolor('red')
t.speed(1)
t.left(45)
t.forward(150)
t.right(45)
t.forward(100)
t.right(45)
t.forward(100)
t.right(45)
t.forward(100)
t.right(45)
t.forward(250+math.sqrt(2)*100)
t.right (90)
t.speed(2)
t.forward(250+100*math.sqrt(2))
t.right(45)
t.forward(100)
t.right(45)
t.forward(100)
t.right(45)
t.forward(100)
t.right(45)
t.forward(150)
t.end_fill()
t.goto(-10,0)
t.pencolor('white')
# L
t.pensize(10)
t.goto(-50,0)
t.goto(-50,80)
t.up ()
# I
t.goto(-100,0)
t.down()
t.goto(-160,0)
t.goto(-130,0)
t.goto(-130,80)
t.goto(-160,80)
t.goto(-100,80)
t.up()
# O
t.goto(10,25)
t.down()
t.right(45)
t.circle(25,extent=180)
t.goto(60,55)
t.circle(25,extent=180)
t.goto(10,25)
t.up()
t.goto(75,80)
t.down()
t.goto(100,0)
t.goto(125,80)
t.up()
t.goto(180,80)
t.down()
t.goto(140,80)
t.goto(140,0)
t.goto(180,0)
t.up()
t.goto(180,40)
t.down()
t.goto(140,40)
# U
t.up()
t.goto(-40,-30)
t.down()
t.goto(-40,-80)
t.circle(40,extent=180)
t.goto(40,-30)
t.hideturtle()window=turtle.Screen()
window.exitonclick()

立体红心

import matplotlib
import matplotlib.pyplot as plt #导入绘图模块
from mpl_toolkits.mplot3d import Axes3D #3d绘图模块
import numpy as np #导入数值计算拓展模块
import timestart = time.time()x_lim, y_lim, z_lim = np.linspace(-10,10,520), np.linspace(-10,10,520), np.linspace(-10,10,520)
# 用来存放绘图点X,Y,Z坐标
X_points, Y_points, Z_points = [], [], []for x in x_lim:for y in y_lim:for z in z_lim:if (x**2+(9/4)*y**2+z**2-1)**3-(9/80)*y**2*z**3-x**2*z**3<=0:X_points.append(x)Y_points.append(y)Z_points.append(z)end = time.time()fig=plt.figure()                                # 画布初始化
ax=fig.add_subplot(111,projection='3d')         # 采用3d绘图
ax.scatter(X_points,Y_points,Z_points,s=20,alpha=0.5,color="red") # 3d散点图填充
plt.show()print(end-start)

玫瑰

# 绘制玫瑰花并添加文字
import turtle# 设置画布大小
# turtle.screensize(canvwidth=None, canvheight=None, bg=None)
turtle.setup(width=0.6, height=0.6)
# 设置初始位置
turtle.penup()
turtle.left(90)
turtle.fd(200)
turtle.pendown()
turtle.right(90)# 输出文字
printer = turtle.Turtle()
printer.hideturtle()
printer.penup()
printer.back(200)
printer.write("赠给亲爱的 XX\n\n", align="right", font=("楷体", 16, "bold"))
printer.write("from XXX", align="center", font=("楷体", 12, "normal"))# 花蕊
turtle.fillcolor("red")
turtle.begin_fill()
turtle.circle(10, 180)
turtle.circle(25, 110)
turtle.left(50)
turtle.circle(60, 45)
turtle.circle(20, 170)
turtle.right(24)
turtle.fd(30)
turtle.left(10)
turtle.circle(30, 110)
turtle.fd(20)
turtle.left(40)
turtle.circle(90, 70)
turtle.circle(30, 150)
turtle.right(30)
turtle.fd(15)
turtle.circle(80, 90)
turtle.left(15)
turtle.fd(45)
turtle.right(165)
turtle.fd(20)
turtle.left(155)
turtle.circle(150, 80)
turtle.left(50)
turtle.circle(150, 90)
turtle.end_fill()# 花瓣1
turtle.left(150)
turtle.circle(-90, 70)
turtle.left(20)
turtle.circle(75, 105)
turtle.setheading(60)
turtle.circle(80, 98)
turtle.circle(-90, 40)# 花瓣2
turtle.left(180)
turtle.circle(90, 40)
turtle.circle(-80, 98)
turtle.setheading(-83)# 叶子1
turtle.fd(30)
turtle.left(90)
turtle.fd(25)
turtle.left(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(-80, 90)
turtle.right(90)
turtle.circle(-80, 90)
turtle.end_fill()
turtle.right(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(85)
turtle.left(90)
turtle.fd(80)# 叶子2
turtle.right(90)
turtle.right(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(80, 90)
turtle.left(90)
turtle.circle(80, 90)
turtle.end_fill()
turtle.left(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(60)
turtle.right(90)
turtle.circle(200, 60)turtle.done()

import turtle
import randomdef love(x, y):         # 在(x,y)处画爱心lalalalv = turtle.Turtle()lv.hideturtle()lv.up()lv.goto(x, y)       # 定位到(x,y)def curvemove():    # 画圆弧for i in range(20):lv.right(10)lv.forward(2)lv.color('red', 'pink')lv.speed(10000000)lv.pensize(1)# 开始画爱心lalalalv.down()lv.begin_fill()lv.left(140)lv.forward(22)curvemove()lv.left(120)curvemove()lv.forward(22)lv.write("YZ", font=("Arial", 12, "normal"), align="center")  # 写上表白的人的名字lv.left(140)  # 画完复位lv.end_fill()def tree(branchLen, t):if branchLen > 5:       # 剩余树枝太少要结束递归if branchLen < 20:  # 如果树枝剩余长度较短则变绿t.color("green")t.pensize(random.uniform((branchLen + 5) / 4 - 2, (branchLen + 6) / 4 + 5))t.down()t.forward(branchLen)love(t.xcor(), t.ycor())  # 传输现在turtle的坐标t.up()t.backward(branchLen)t.color("brown")returnt.pensize(random.uniform((branchLen + 5) / 4 - 2, (branchLen + 6) / 4 + 5))t.down()t.forward(branchLen)# 以下递归ang = random.uniform(15, 45)t.right(ang)tree(branchLen - random.uniform(12, 16), t)  # 随机决定减小长度t.left(2 * ang)tree(branchLen - random.uniform(12, 16), t)  # 随机决定减小长度t.right(ang)t.up()t.backward(branchLen)myWin = turtle.Screen()
t = turtle.Turtle()
t.hideturtle()
t.speed(1000)
t.left(90)
t.up()
t.backward(200)
t.down()
t.color("brown")
t.pensize(32)
t.forward(60)
tree(100, t)
myWin.exitonclick()

我是CSDN钜铠,关注我,带你看更多硬核知识。喜欢记得点赞加收藏哦。


http://chatgpt.dhexx.cn/article/1CRpISNF.shtml

相关文章

python画爱心

import turtle import time# 清屏函数 def clear_all():turtle.penup()turtle.goto(0, 0)turtle.color(white)turtle.pensize(800)turtle.pendown()turtle.setheading(0)turtle.fd(300)turtle.bk(600)# 重定位海龟的位置 def go_to(x, y, state):turtle.pendown() if state els…

python画爱心的代码怎么运行_怎么用python实现画爱心

Python中可以使用turtle库来画图&#xff0c;通过控制画笔运动来实现在画布上画图案。 使用Python画爱心代码如下&#xff1a;#!/usr/bin/env python # -*- coding:utf-8 -*- import turtle import time # 画心形圆弧 def hart_arc(): for i in range(200): turtle.rig…

如何用纯 CSS 为母亲节创作一颗像素画风格的爱心

效果预览 在线演示 按下右侧的“点击预览”按钮可以在当前页面预览&#xff0c;点击链接可以全屏预览。 https://codepen.io/comehope/pen/LmrZVX 可交互视频教程 此视频是可以交互的&#xff0c;你可以随时暂停视频&#xff0c;编辑视频中的代码。 请用 chrome, safari,…

如何用纯 CSS 为母亲节创作一颗像素画风格的爱心...

效果预览 在线演示 按下右侧的“点击预览”按钮可以在当前页面预览&#xff0c;点击链接可以全屏预览。 https://codepen.io/comehope/pen/LmrZVX 可交互视频教程 此视频是可以交互的&#xff0c;你可以随时暂停视频&#xff0c;编辑视频中的代码。 请用 chrome, safari, edge …

Python编程 利用Python画一个爱心

作者简介&#xff1a;一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.所使用的库 1.turtle库 2.情人节来历 二.正文 2.背景颜色 3.调整画…

前端每日实战:20# 视频演示如何用纯 CSS 为母亲节创作一颗像素画风格的爱心...

效果预览 按下右侧的“点击预览”按钮可以在当前页面预览&#xff0c;点击链接可以全屏预览。 https://codepen.io/comehope/pen/LmrZVX 可交互视频教程 此视频是可以交互的&#xff0c;你可以随时暂停视频&#xff0c;编辑视频中的代码。 请用 chrome, safari, edge 打开观看。…

golang识别身份证号

使用go做身份证号码识别 1.本实例主要是学习使用image库 2.实现思路: (1).获取图片 (2).对图片指定区域进行裁剪 (3).将图片进行二值化,使用黑白两色作为区分 (4).去掉图片无用的边缘 (5).将数字进行裁剪为一张一张的小图片 (6).将图片使用0和1来进行数据化 (7).使用提前准备的…

身份证号码识别

初次接触OCR技术&#xff0c;OCR技术在工业检测上有极大的用处&#xff0c;如工件上面得数字标号识别、印刷纸票识别、车牌识别、身份证号码识别等。但中文字体识别较难&#xff0c;如今百度OCR、谷歌tesseract等提供识别接口&#xff0c;可以取得较好的识别效果。 通过贾志刚老…

身份证号规则校验

我们国家目前公民身份证号为15位或者18位&#xff0c;且最后一位可能出现字母X。其中&#xff0c; 15位身份证为我国第一代身份证&#xff0c;基本已经退出历史舞台。其规则如下&#xff1a; 前1、2位数字表示&#xff1a;所在省份的代码&#xff1b; 第3、4位数字表示&…

opencv识别身份证号

opencv 识别身份证号 python模块 opencvpytesseractPIL 1.模块安装 1.1 opencv安装 通过pip进行安装&#xff0c;在此不再叙述 注意安装版本&#xff0c;以下是python3的安装方式 pip install opencv-python1.2 pytesseract安装 通过pip进行安装&#xff0c;在此不再叙述…

[转]【读书笔记】《俞军产品方法论》——产品经理的枕边书

作者简介 俞军&#xff0c;1997年毕业于同济大学化学系。曾任百度产品副总裁、首席产品架构师&#xff0c;网名“搜索引擎9238”&#xff0c;有“百度贴吧之父”之称。滴滴前高级产品副总裁。 内容简介 摘抄语录 我的产品潜力和优势大约只来自三方面&#xff1a;第一&#xff0…

话说产品方法论——需求与用户研究

开一个坑&#xff0c;结合自身经历和现在在看的一些书&#xff0c;将一些基础的产品方法论总结出来&#xff0c;与大家交流的同时鞭策自己。 作为0岁的产品经理&#xff0c;我们在学习产品方法论时&#xff0c;容易偏重于产品设计的理论&#xff0c;对产品设计的喜爱也许是多数…

CRM产品方法论

导语&#xff1a;CRM&#xff08;客户关系管理&#xff09;是一种企业与现有客户及潜在客户之间关系互动的管理系统&#xff0c;通过对客户数据的历史积累和分析&#xff0c;CRM可增进企业与客户之间的关系&#xff0c;从而增加企业销售收入和提高客户留存率。本文作者从目标、…

《俞军产品方法论》:一个产品学派的诞生

www.pmcaff.com 本文为作者 一只特立独行的Eric 于社区发布 “我有时下班打个顺风车&#xff0c;周围几大公司&#xff08;滴滴、百度、新浪、网易&#xff09;的产品经理都会来接我。因为我用的是真名。”俞军2017年接受PingWest采访时说道。 作为中国最有影响力的产品经理之一…

AI产品方法论之“由用户来完成AI产品设计的最后一公里”

前言&#xff1a;AI产品落地&#xff0c;非常有意思&#xff0c;也非常有难度&#xff0c;究其原因&#xff0c;除了AI技术、产品、行业、人才、用户等各方面都还没成熟&#xff0c;还有一个很重要的问题&#xff0c;就是我们还没有将互联网时代的产品方法论升级成为"AI产…

产品经理 - 产品设计方法论需求分析部分

整体 – 产品设计方法论思维导图 个人整理&#xff0c;存在异议大家可以讨论下 需求分析方法论 需求分析为需求收集的延展&#xff0c;需求收集后即需进行需求分析&#xff0c;拆解需求后方可业务落地&#xff0c;此处我将其分为两步&#xff0c;一是主动发散型需求分析&am…

产品经理方法论

企业以产品为媒介&#xff0c;与用户进行价值交换&#xff1b;产品经理要能在实践中理解用户模型和交易模型&#xff0c;设计产品促成更多交易&#xff0c;以创造有利可图的用户价值。 1、企业、用户、产品的关系 用户价值和商业价值的关系&#xff0c;是企业以产品为媒介&…

《俞军产品方法论》- 站在更高的角度来拓展产品经理的内涵和边界

关于作者 俞军&#xff0c;互联网产品大神级人物。他是早年百度唯一的产品经理&#xff0c;主持了百度搜索这款产品的无数次进化&#xff0c;并主持设计了百度贴吧、百度 知道等世界级创新产品&#xff0c;后来又成为滴滴出行的产品负责人。他的 “ 俞军产品经理十二条 ” &a…

产品方法论—如何竞品分析

一、概要 什么是竞品分析&#xff0c;单从组词法来说&#xff0c;竞品分析就是对竞争产品的分析&#xff0c;接下来将详细讲述到底应该如何进行竞品分析… 1、什么是竞品分析 在两个或者多个竞争产品之间&#xff0c;他们有什么样的商业模式&#xff0c;有什么样的定位&…

《产品方法论》读书笔记

写在前面&#xff1a;本文仅仅是根据个人阅读习惯或个人有启发之处所记录的笔记&#xff0c;不代表该书的重点哦>o< 全书内容的简单总结 企业以产品为媒介&#xff0c;与用户进行价值交换&#xff1b;产品经理要能在实践中理解用户模型和交易模型&#xff0c;设计产品促…