博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用python画一只佩奇
阅读量:5965 次
发布时间:2019-06-19

本文共 4724 字,大约阅读时间需要 15 分钟。

  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.结果:

 

 

转载于:https://www.cnblogs.com/z2273533704/p/10527396.html

你可能感兴趣的文章
企业级Nginx Web服务优化实战
查看>>
阅读作业——疑问与感想
查看>>
先了解一下XHTML
查看>>
解决使用osgModeling的Loft生成管子时的bug
查看>>
后台拼接input 后,动态获取input的值
查看>>
【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 (13)客户管理...
查看>>
HDU 3973 AC's String 字符串哈希
查看>>
Foo, Bar是什么意思?
查看>>
浮动清除
查看>>
深入理解计算机系统(2.4)---C语言的有符号与无符号、二进制整数的扩展与截断...
查看>>
早期(编译期)优化
查看>>
Codeforces Round #441 (Div. 2, by Moscow Team Olympiad)
查看>>
组合数学之Polya计数 TOJ1116 Let it Bead
查看>>
Android中的Context
查看>>
java_泛型
查看>>
linux包之dmidecode
查看>>
【转】nginx如何设置防盗链
查看>>
安卓中的弹出框
查看>>
SCVMM 2012 R2---安装前的准备工作
查看>>
18岁的他从月薪2000到月薪11000经历了什么?
查看>>