这几天在抖音上用C语言画心挺火的,然后处于兴趣吧,正好现在在学习python,我就想着用python来画一个小人发射爱心吧,跟那种用C语言写的不同,他们直接是printf出来的,但咱是画出来的,哈哈哈,表白神器,男生拿着个去表白,女生一定会感到很浪漫的,也可以发给你兄弟哈,去装一下!!!
那咱们直接上代码
import turtle as t
#设置画布
t.screensize()
def Attribute():
#设置画笔属性
t.pensize(2)
t.speed(2)
t.color('pink')
def Drawinginit():
#设置画笔开始位置
t.penup()
t.hideturtle()
t.goto(-300,100)
t.pendown()
t.showturtle()
首先导入turtle这个库,用于画图的,然后创建一个画布,我这里边没有参数,也可以设置参数,两个参数分别表示长和宽,然后设置画笔的属性,画笔速度,笔的颜色,笔的粗细,然后设置画笔的坐标,默认是(0,0),我这里边设置的为(-300,100),一切准备就绪,开始画图
def Drawingbody():
Attribute()
Drawinginit()
#开始画图
t.circle(90)#画圆
#画身体
t.right(90)
t.forward(200)
t.right(30)
t.forward(120)
#画右腿
t.penup()
#t.hideturtle()
t.goto(-300,-100)
t.pendown()
t.showturtle()
t.left(120)
t.forward(100)
t.right(120)
t.forward(120)
#画上胳膊
t.penup()
#t.hideturtle()
t.goto(-300,50)
t.pendown()
t.showturtle()
t.left(120)
t.forward(100)
t.left(40)
t.forward(90)
#画下胳膊
t.penup()
#t.hideturtle()
t.goto(-300,0)
t.showturtle()
t.pendown()
t.right(40)
t.forward(100)
t.right(40)
t.forward(90)
#画左眼睛
t.penup()
t.goto(-330,210)
t.pendown()
t.right(50)
t.forward(40)
#画右眼
t.penup()
t.goto(-270,210)
t.pendown()
t.forward(40)
t.left(90)
#t.done()
?这里其实都挺好理解的,大家看代码就可以看懂,如果不懂可以看一下turtle里边函数函数的用法,我解释一下,有一点特别重要,用goto(x,y)是,是让画笔移动到(x,y)处,但是如果只用goto你会发现,在移动的路径上,也会把这条线画出来,那这该怎么办呢?看代码,用goto函数前我用了penup()函数,根据字面意思可以看出来吧,就是把笔抬起来,这样,在移动的时候就不会把路径上的线画出来了,抬笔,移动到(x,y),我们就可以画图了,但是,注意我们的笔现在还在抬起状态,于是用pendown()函数,让笔落下来,就可以继续画图啦!
def curveMone():
for i in range(190):
t.right(1)
t.forward(1)
def drawHeart():
Attribute()
#设置画笔开始位置
t.penup()
t.goto(250, -70)
t.pendown()
t.showturtle()
#画心
t.fillcolor('red')
t.begin_fill()
t.left(130)
t.forward(145)
curveMone()
t.left(120)
curveMone()
t.forward(145)
t.end_fill()
if __name__ == '__main__':
Drawingbody()
drawHeart()
t.done()
最后一点了,就是画心,这个相比刚才画小人代码确实简单的,但是应为心是曲线,就难在这儿了,用一个for循环,然后每向前一动一个单位就转一度,这样画曲线就解决了,还有就是begin_fill()是从这儿开始到t.end_fill()结束,对这中间我画的图形进行填充颜色。最后一点就是t.done()一定要加,要不然画完图以后图立马就没有了,这个作用是使画面锁定到当前画面。
展示一下效果图吧!
?
以上就是我给大家分享的全部内容了,把这几段代码一次复制粘贴到你的IDE里边是可以直接运行的哦
|