首页 > 编程语言 > 详细

使用python画一只佩奇

时间:2019-03-13 23:17:19      阅读:186      评论:0      收藏:0      [点我收藏+]
  1. 打开界面:

打开python shell界面。

?

  1. 建立脚本:

单击"file"——"new file"来建立脚本。

?

  1. 编写代码:

具体的代码如下。

  1. import?turtle?as?t??
  2. ‘‘‘‘‘?
  3. t.pu()??提起画笔?
  4. t.pd()??移动时绘制图形,缺省时也为绘制?
  5. t.seth??设置当前朝向为angle角度?
  6. t.begin_fill()??准备开始填充图形?
  7. t.color??????同时设置pencolor=color1,?fillcolor=color2?
  8. t.goto???????设置笔的坐标?
  9. t.circle(70,20)?半径?度数?
  10. 15,124,215??乔治裤子颜色外面?
  11. 66,163,242??乔治裤子颜色里面?
  12. ? ?
  13. 134??196??247??天空的颜色?
  14. 123,245,95?草地的颜色?
  15. 253,6,6??鞋子外面?
  16. 253,70,70??鞋子里面?
  17. 130,119,100?泥坑?
  18. ? ?
  19. ? ?
  20. ‘‘‘??
  21. r_a=0.8??
  22. wight?=?1100??
  23. height?=?700??
  24. #t.pensize(4)??
  25. t.hideturtle()??
  26. t.colormode(255)??
  27. t.color((255,155,192),"pink")??
  28. t.setup(wight,height)??
  29. t.speed(10)??
  30. def?move_pen(x,y):??
  31. ????t.pu()??
  32. ????t.goto(x-wight/2+50,y-height/2+50)??
  33. ????t.pd()??
  34. def?pen_set(size,r1,g1,b1,r2=0,g2=0,b2=0):??
  35. ????t.pensize(size)??
  36. ????t.color((r1,g1,b1),(r2,g2,b2))??
  37. def?draw_grid():??
  38. ????pen_set(1,0,0,0,0,0,0)??
  39. ????for?i?in?range(20):??
  40. ????????move_pen(0+i*50,0)??
  41. ????????t.seth(90)??
  42. ????????t.fd(600)??
  43. ????for?i?in?range(12):??
  44. ????????move_pen(0,0+i*50)??
  45. ????????t.seth(0)??
  46. ????????t.fd(1000)??
  47. ?? ?
  48. def?draw_bg():??
  49. ????#画草地??
  50. ?????? ?
  51. ????move_pen(0,350)??
  52. ????pen_set(4,123,245,95,?123,245,95)??
  53. ????t.begin_fill()??
  54. ????t.seth(-90)??
  55. ????t.fd(350)??
  56. ????t.seth(0)??
  57. ????t.fd(1000)??
  58. ????t.seth(90)??
  59. ????t.fd(350)??
  60. ????t.end_fill()??
  61. ????#画天空??
  62. ????move_pen(0,350)??
  63. ????pen_set(4,134,196,247,?134,196,247)??
  64. ????t.begin_fill()??
  65. ????t.seth(90)??
  66. ????t.fd(250)??
  67. ????t.seth(0)??
  68. ????t.fd(1000)??
  69. ????t.seth(-90)??
  70. ????t.fd(250)??
  71. ????a=-180?+?r_a??
  72. ????for?i?in?range(50):??
  73. ????????a?=?a?-?r_a/50??
  74. ????????t.seth(a)??
  75. ????????t.fd(500/50)??
  76. ????a?=180??
  77. ????for?i?in?range(50):??
  78. ????????a?=?a?-?r_a/50??
  79. ????????t.seth(a)??
  80. ????????t.fd(500/50)??
  81. ????t.end_fill()??
  82. ?????? ?
  83. def?draw_mud_pit():??
  84. ????#画泥坑??
  85. ????pen_set(5,130,119,100,?130,119,100)??
  86. ????move_pen(350,150)??
  87. ????t.begin_fill()??
  88. ????t.seth(-180)??
  89. ????t.circle(50,125)??
  90. ????t.seth(-20)??
  91. ????t.circle(350,60)??
  92. ????t.seth(20)??
  93. ????t.circle(50,30)??
  94. ????t.seth(10)??
  95. ????t.circle(50,30)??
  96. ????t.seth(0)??
  97. ????t.circle(50,30)??
  98. ????t.seth(40)??
  99. ????t.circle(50,90)??
  100. ????t.seth(170)??
  101. ????t.circle(500,45)??
  102. ????t.end_fill()??
  103. ?????? ?
  104. def?draw_shoes():??
  105. ????pen_set(3,253,6,6,?253,70,70)??
  106. ????move_pen(400,100)??
  107. ????t.begin_fill()??
  108. ????t.seth(0)??
  109. ????t.fd(50)??
  110. ????t.seth(87)??
  111. ????t.fd(50)??
  112. ????t.seth(180)??
  113. ????t.fd(25)??
  114. ????t.seth(-93)??
  115. ????t.fd(20)??
  116. ????t.seth(-180)??
  117. ????t.fd(25)??
  118. ????t.seth(-120)??
  119. ????t.circle(45,38)??
  120. ????t.end_fill()??
  121. ????move_pen(470,100)??
  122. ????t.begin_fill()??
  123. ????t.seth(0)??
  124. ????t.fd(50)??
  125. ????t.seth(87)??
  126. ????t.fd(50)??
  127. ????t.seth(180)??
  128. ????t.fd(25)??
  129. ????t.seth(-93)??
  130. ????t.fd(20)??
  131. ????t.seth(-180)??
  132. ????t.fd(25)??
  133. ????t.seth(-120)??
  134. ????t.circle(45,38)??
  135. ????t.end_fill()??
  136. def?draw_leg():???
  137. ????pen_set(6,255,155,192,?255,155,192)??
  138. ????move_pen(440,140)??
  139. ????t.seth(90)??
  140. ????t.fd(20)??
  141. ????move_pen(510,140)??
  142. ????t.seth(90)??
  143. ????t.fd(20)??
  144. def?draw_trousers():??
  145. ????move_pen(400,300)??
  146. ????pen_set(6,15,124,215,?66,163,242)??
  147. ????t.begin_fill()??
  148. ????d_a?=?100??
  149. ????a=-130???
  150. ????for?i?in?range(60):??
  151. ????????a?=?a?+?2??
  152. ????????t.seth(a)??
  153. ????????t.fd(3)??
  154. ????for?i?in?range(14):??
  155. ????????a?=?a?+?0.02??
  156. ????????t.seth(a)??
  157. ????????t.fd(2)??
  158. ????a?=?0-a??
  159. ????for?i?in?range(14):??
  160. ????????a?=?a?+?0.02??
  161. ????????t.seth(a)??
  162. ????????t.fd(2)??
  163. ????for?i?in?range(60):??
  164. ????????a?=?a?+?2.2??
  165. ????????t.seth(a)??
  166. ????????t.fd(3)??
  167. ????t.end_fill()??
  168. def?draw_tile():??
  169. ????move_pen(550,177)??
  170. ????pen_set(6,255,155,192,?255,155,192)??
  171. ????a=-60???
  172. ????for?i?in?range(25):??
  173. ????????a?=?a?+?4??
  174. ????????t.seth(a)??
  175. ????????t.fd(1)??
  176. ????t.circle(5)??
  177. ????a?=?-a??
  178. ????for?i?in?range(30):??
  179. ????????a?=?a?+?4??
  180. ????????t.seth(a)??
  181. ????????t.fd(1)??
  182. def?draw_hands():??
  183. ????move_pen(550,250)??
  184. ????pen_set(6,255,155,192,?255,155,192)??
  185. ????t.seth(20)??
  186. ????t.fd(70)??
  187. ????move_pen(600,270)??
  188. ????t.seth(60)??
  189. ????t.fd(20)??
  190. ????move_pen(600,270)??
  191. ????t.seth(-20)??
  192. ????t.fd(20)??
  193. ?????? ?
  194. ????move_pen(380,250)??
  195. ????t.seth(160)??
  196. ????t.fd(50)??
  197. ????move_pen(350,260)??
  198. ????t.seth(100)??
  199. ????t.fd(20)??
  200. ????move_pen(350,260)??
  201. ????t.seth(-140)??
  202. ????t.fd(20)??
  203. ?????? ?
  204. def?draw_face():??
  205. ????move_pen(400,360)??
  206. ????pen_set(4,255,155,192,?255,196,218)??
  207. ????t.begin_fill()??
  208. ????a=-120???
  209. ????for?i?in?range(20):??
  210. ????????a?=?a?+?2.5??
  211. ????????t.seth(a)??
  212. ????????t.fd(2.2)??
  213. ????for?i?in?range(130):??
  214. ????????a?=?a?+?1.3??
  215. ????????t.seth(a)??
  216. ????????t.fd(1.8)??
  217. ????for?i?in?range(35):??
  218. ????????a?=?a?+?1.4??
  219. ????????t.seth(a)??
  220. ????????t.fd(2)??
  221. ????for?i?in?range(50):??
  222. ????????a?=?a?+?0.35??
  223. ????????t.seth(a)??
  224. ????????t.fd(2)??
  225. ????for?i?in?range(50):??
  226. ????????a?=?a?+?0.2??
  227. ????????t.seth(a)??
  228. ????????t.fd(2)??
  229. ????n=0.4??
  230. ????for?i?in?range(180):??
  231. ????????if?0<=i<30?or?60<=i<90?or?120<=i<150?:??
  232. ????????????n=n+0.08??
  233. ????????????t.lt(3)?#向左转3??
  234. ????????????t.fd(n)?#向前走a的步长??
  235. ????????else:??
  236. ????????????n=n-0.08??
  237. ????????????t.lt(3)??
  238. ????????????t.fd(n)??
  239. ????a=-50??
  240. ????for?i?in?range(20):??
  241. ????????a?=?a?+?2.8??
  242. ????????t.seth(a)??
  243. ????????t.fd(5)??
  244. ????t.end_fill()??
  245. def?draw_other():??
  246. ????move_pen(310,440)??
  247. ????pen_set(6,255,145,192,?255,145,192)??
  248. ????t.begin_fill()??
  249. ????t.circle(3)??
  250. ????t.end_fill()??
  251. ????move_pen(330,430)??
  252. ????t.begin_fill()??
  253. ????t.circle(3)??
  254. ????t.end_fill()??
  255. ?????? ?
  256. ????pen_set(6,255,145,192,?255,255,255)??
  257. ????move_pen(410,425)??
  258. ????t.begin_fill()??
  259. ????t.circle(10)??
  260. ????t.end_fill()??
  261. ????move_pen(460,395)??
  262. ????t.begin_fill()??
  263. ????t.circle(10)??
  264. ????t.end_fill()??
  265. ?????? ?
  266. ????pen_set(6,0,0,0,0,0,0)??
  267. ????move_pen(405,429)??
  268. ????t.begin_fill()??
  269. ????t.circle(3)??
  270. ????t.end_fill()??
  271. ????move_pen(455,399)??
  272. ????t.begin_fill()??
  273. ????t.circle(3)??
  274. ????t.end_fill()??
  275. ?????? ?
  276. ????move_pen(510,310)??
  277. ????pen_set(6,255,155,192,?255,155,192)??
  278. ????t.begin_fill()??
  279. ????t.circle(25)??
  280. ????t.end_fill()??
  281. ?????? ?
  282. ????move_pen(410,340)??
  283. ????pen_set(6,255,145,192,?255,145,192)??
  284. ????a=-80???
  285. ????for?i?in?range(20):??
  286. ????????a?=?a?+?6??
  287. ????????t.seth(a)??
  288. ????????t.fd(3)??
  289. ????move_pen(430,445)??
  290. ????pen_set(4,255,155,192,?255,196,218)??
  291. ????t.begin_fill()??
  292. ????a=120???
  293. ????for?i?in?range(40):??
  294. ????????a?=?a?-?2??
  295. ????????t.seth(a)??
  296. ????????t.fd(1.2)??
  297. ????a=-a??
  298. ????for?i?in?range(45):??
  299. ????????a?=?a?-?2??
  300. ????????t.seth(a)??
  301. ????????t.fd(1.2)??
  302. ????t.end_fill()??
  303. ????move_pen(480,430)??
  304. ????t.begin_fill()??
  305. ????a=70???
  306. ????for?i?in?range(40):??
  307. ????????a?=?a?-1.5??
  308. ????????t.seth(a)??
  309. ????????t.fd(1.5)??
  310. ????a=-80??
  311. ????for?i?in?range(45):??
  312. ????????a?=?a?-1.5??
  313. ????????t.seth(a)??
  314. ????????t.fd(1.5)??
  315. ????t.end_fill()??
  316. draw_bg()??
  317. draw_mud_pit()??
  318. #draw_grid()??
  319. draw_leg()??
  320. draw_shoes()??
  321. draw_trousers()??
  322. draw_tile()??
  323. draw_hands()??
  324. draw_face()??
  325. draw_other()??
  326. t.mainloop()??

4.保存脚本:

5执行脚本及效果:

6.结果:

使用python画一只佩奇

原文:https://www.cnblogs.com/z2273533704/p/10527396.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!