用Python画小女孩放风筝的示例

yipeiwu_com5年前Python基础

我就废话不多说了,直接上代码吧!

# coding:utf-8
 2import turtle as t
 3import random
 4# 画心
 5def xin():
 6  def curvemove():
 7    for i in range(200):
 8      t.right(1)
 9      t.forward(0.5)
 10  t.color('red','red')
 11  t.begin_fill()
 12  t.left(140)
 13  t.forward(60)
 14  curvemove()
 15  t.left(120)
 16  curvemove()
 17  t.forward(60)
 18  t.end_fill()
 19# 心里面的十字
 20def shizi():
 21  t.pu()
 22  t.goto(170,285)
 23  t.seth(0)
 24  t.pd()
 25  t.color("black","black")
 26  t.circle(1.5)
 27  t.pensize(2)
 28  t.fd(55)
 29  t.pensize(4)
 30  t.circle(1.5)
 31  t.pu()
 32  t.seth(-90)
 33  t.goto(198,295)
 34  t.seth(-90)
 35  t.pensize(2)
 36  t.pd()
 37  t.fd(65)
 38  t.circle(1.5)
 39  t.circle(160,40)
 40  t.circle(-130,27)
 41  t.circle(-60,40)
 42  t.circle(80,60)
 43# 夹子
 44def jiazi2():
 45  def jiazi(angle):
 46    t.pd()
 47    t.pensize(1)
 48    t.color("black","brown")
 49    t.begin_fill()
 50    t.seth(angle)
 51    t.fd(20)
 52    t.seth(angle-240)
 53    t.fd(10)
 54    t.seth(angle-120)
 55    t.fd(20)
 56    t.seth(angle-240)
 57    t.fd(10)
 58    t.end_fill()
 59    t.pu()
 60  # 画夹子
 61  t.pu()
 62  t.goto(216,180)
 63  jiazi(180)
 64  t.goto(230,150)
 65  jiazi(200)
 66  t.goto(250,125)
 67  jiazi(220)
 68  t.goto(265,95)
 69  jiazi(200)
 70  t.goto(275,55)
 71  jiazi(160)
 72# 人
 73def people():
 74  t.pensize(2)
 75  # 皇冠
 76  def huangguan():
 77    t.pu()
 78    t.goto(-200,0)
 79    t.color("gold","gold")
 80    t.pd()
 81    t.begin_fill()
 82    t.seth(120)
 83    t.fd(32)
 84    t.seth(-120)
 85    t.fd(15)
 86    t.seth(150)
 87    t.fd(10)
 88    t.seth(-120)
 89    t.fd(10)
 90    t.seth(160)
 91    t.fd(15)
 92    t.seth(-60)
 93    t.fd(32)
 94    t.seth(50)
 95    t.circle(-40,60)
 96    t.end_fill()
 97  # 脸
 98  def face():
 99    t.pu()
100    t.goto(-212,-3)
101    t.color("black","white")
102    t.pd()
103    t.circle(-40,150)
104  # 头发
105  def hair():
106    t.pu()
107    t.color("black","black")
108    t.goto(-212, -3)
109    angle = -160
110    for i in range(32):
111      t.pd()
112      angle += 1.4
113      t.seth(angle)
114      t.circle(60, 50)
115      t.fd(random.randint(40,45))
116      t.pu()
117      t.goto(-212, -3)
118    angle = -50
119    for i in range(32):
120      t.pd()
121      angle -= 1.5
122      t.seth(angle)
123      t.circle(-60, 50)
124      t.fd(random.randint(38,40))
125      t.pu()
126      t.goto(-212, -5)
127  # 脖子
128  def nick():
129    t.pu()
130    t.goto(-200,-78)
131    t.pd()
132    t.seth(-90)
133    t.fd(10)
134    t.seth(-45)
135    t.fd(20)
136    t.seth(180)
137    t.fd(30)
138    t.seth(55)
139    t.fd(15)
140    t.circle(10,80)
141  # 下半身
142  def body():
143    t.pu()
144    t.goto(-185,-100)
145    t.seth(-65)
146    t.pd()
147    for i in range(120):
148      t.fd(1.5)
149      t.right(0.1)
150    t.seth(220)
151    t.circle(-130,70)
152    t.seth(75)
153    for i in range(130):
154      t.fd(1.5)
155      t.right(0.06)
156  # 腿
157  def leg():
158    t.pu()
159    t.goto(-220,-300)
160    t.pd()
161    t.seth(-90)
162    t.fd(80)
163    t.pensize(5)
164    t.color("red","red")
165    t.fd(8)
166    t.seth(-30)
167    t.pensize(6)
168    t.color("black","black")
169    t.fd(5)
170    t.pu()
171    t.pensize(2)
172    t.goto(-185,-300)
173    t.pd()
174    t.seth(-90)
175    t.fd(80)
176    t.pensize(5)
177    t.color("red","red")
178    t.fd(8)
179    t.seth(-30)
180    t.pensize(6)
181    t.color("black","black")
182    t.fd(5)
183  huangguan()
184  face()
185  nick()
186  body()
187  leg()
188  hair()
189  # 手
190  t.pu()
191  t.goto(-190,-165)
192  t.pensize(2)
193  t.pd()
194  t.seth(49)
195  t.fd(160)
196  t.circle(-10,80)
197  # 眼睛
198  t.pu()
199  t.goto(-185,-30)
200  t.seth(90)
201  t.pd()
202  t.circle(5,180)
203# 星星
204def star(x,y):
205  color = ["blue","yellow","red","gold","orange","pink","green","purple"]
206  t.pencolor(random.choice(color))
207  t.pu()
208  t.goto(x,y)
209  t.pd()
210  t.seth(90)
211  t.fd(8)
212  t.bk(4)
213  t.seth(0)
214  t.fd(4)
215  t.bk(8)
216  t.fd(4)
217  t.seth(45)
218  t.fd(4)
219  t.bk(8)
220  t.fd(4)
221  t.seth(-45)
222  t.fd(4)
223  t.bk(8)
224if __name__ == "__main__":
225  t.pensize(4) # 设置画笔的大小
226  t.color("black") # 设置画笔颜色和填充颜色(pink)
227  t.setup(650, 800) # 设置主窗口的大小为600*800
228  t.speed(10) # 设置画笔速度为10
229  t.pu()
230  t.goto(200, 220)
231  t.pd()
232  # 心
233  xin()
234  # 十字
235  shizi()
236  # 夹子
237  jiazi2()
238  #线
239  t.pu()
240  t.goto(198,280)
241  t.pd()
242  t.seth(-120)
243  t.circle(-1100,22)
244  t.circle(20,90)
245  t.circle(-30,50)
246  t.circle(15,60)
247  # 人
248  people()
249  # 裙子上的点点
250  star(-230, -200)
251  star(-220, -180)
252  star(-200, -150)
253  star(-180, -288)
254  star(-160, -250)
255  star(-210, -150)
256  star(-210, -140)
257  for i in range(10):
258    star(random.randint(-205,-170),random.randint(-300,-200))
259  # 隐藏画笔
260  t.ht()
261  t.done()

效果如下:

以上这篇用Python画小女孩放风筝的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

在VS Code上搭建Python开发环境的方法

在VS Code上搭建Python开发环境的方法

1、下载安装 python https://www.python.org/downloads/windows/ web-based installer 在线安装 executable...

python如何通过pyqt5实现进度条

python如何通过pyqt5实现进度条

这篇文章主要介绍了python如何通过pyqt5实现进度条,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下   python太博大精深了...

Python及Django框架生成二维码的方法分析

本文实例讲述了Python及Django框架生成二维码的方法。分享给大家供大家参考,具体如下: 一、包的安装和简单使用 1.1 用Python来生成二维码很简单,可以看 qrcode 这...

在django模板中实现超链接配置

django中的超链接,在template中可以用{% url 'app_name:url_name' param%} 其中app_name在工程urls中配置的namespace取值,...

Python 比较文本相似性的方法(difflib,Levenshtein)

最近工作需要用到序列匹配,检测相似性,不过有点复杂的是输入长度是不固定的,举例为: input_and_output = [1, 2, '你好', 世界', 12.34, 45.6,...