用python画爱心写一句话_Python用turtle画爱心丘比特之剑

Python用turtle画爱心丘比特之剑

程序员的爱情,在Python中运用调用turtle库来根据函数画出爱心。

效果图如下:

19032013501450.png

from turtle import*

setup(750,500)

penup()

pensize(25)

pencolor("pink")

fd(-230)

seth(90)

pendown()

circle(-50,180)

circle(50,-180)

circle(75,-50)

circle(-190,-45)

penup()

fd(185)

seth(180)

fd(120)

seth(90)

pendown()

circle(-75,-50)

circle(190,-45)

penup()

fd(184)

seth(0)

fd(80)

seth(90)

pendown()

circle(-50,180)

circle(50,-180)

circle(75,-50)

circle(-190,-45)

penup()

fd(185)

seth(180)

fd(120)

seth(90)

pendown()

circle(-75,-50)

circle(190,-45)

penup()

fd(150)

seth(180)

fd(300)

pencolor("red")

pensize(10)

pendown()

fd(-500)

seth(90)

fd(30)

fd(-60)

seth(30)

fd(60)

seth(150)

fd(60)

done()

Python使用turtle库画一个爱心构成的爱心

#!/usr/bin/env python

# coding:utf-8

from turtle import *

import time

def setTurtle():

# 窗口大小

screensize(900, 700, 'pink')

# 颜色

color('red', 'pink')

# 笔粗细

pensize(3)

# 速度

speed(6)

# 提笔

penup()

def getStart(h):

# 去到的坐标,窗口中心为0,0

goto(0, -180)

r = h / 5

drawBigL(r, h)

drawBigArc(r, 140)

drawBigArc(r, 70)

drawBigR(r, h)

centerRange()

drawHope()

drawName()

def drawBigL(r, h):

colors = ['red', 'orange', 'yellow', '#87CEEB', 'violet', 'red']

for i in range(int(240 / h) + 1):

seth(0)

color(colors[i], colors[i + 1])

drawHeart(r)

seth(140)

fd(h)

def drawBigArc(r, rad):

colors = ['red', 'orange', 'yellow', 'SkyBlue', 'violet', 'red']

for i in range(50):

if (i % 10 == 0):

color(colors[int(i / 10)], colors[int(i / 10) + 1])

seth(0)

drawHeart(r)

seth(rad - (i + 1) * 4)

rt(4)

fd(10.5)

def drawBigR(r, h):

colors = ['red', 'orange', 'yellow', 'SkyBlue', 'violet', 'red']

for i in range(int(240 / h) + 1):

color(colors[i], colors[i + 1])

seth(0)

drawHeart(r)

setheading(220)

fd(h)

def drawHeart(r):

down()

begin_fill()

factor = 180

seth(45)

circle(-r, factor)

fd(2 * r)

right(90)

fd(2 * r)

circle(-r, factor)

end_fill()

up()

# 在心中写字

def centerRange():

for i in range(6):

drawCenter(i)

time.sleep(1)

def drawCenter(i):

goto(0, 0)

colors = ['red', 'orange', 'yellow', 'SkyBlue', 'violet', 'red']

pencolor(colors[i])

# 在心中写字 font可以设置字体自己电脑有的都可以设 align开始写字的位置

write('love SPY', font=('gungsuh', 30,), align="center")

up()

# 写寄语

def drawHope():

pencolor('black')

goto(-300, -220)

showturtle()

write('linuxboy(LinuxIDC.com),', font=('华文行楷', 25,), align="center", move=True)

goto(-300, -270)

write('linuxboy是专业的Linux系统门户网站。', font=('华文行楷', 25,), align="center", move=True)

# 写署名

def drawName():

pencolor('black')

goto(250, -250)

showturtle()

write('linuxboy 网址 www.linuxboy.net', font=('gungsuh', 20,), align="center", move=True)

setTurtle()

getStart(80)

# 点击窗口关闭

window = Screen()

window.exitonclick()

19032014006744.png

https://www.linuxboy.net/topicnews.aspx?tid=17

linuxboy的RSS地址:https://www.linuxboy.net/rssFeed.aspx

本文永久更新链接地址:https://www.linuxboy.net/Linux/2019-03/157603.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值