首页 » 技术分享 » 用Python画小女孩放风筝

用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画小女孩放风筝,转载请注明来源!

0