zoukankan      html  css  js  c++  java
  • 使用python画一只佩奇

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

     

  • 相关阅读:
    Cxx11 stdchrono库详解
    Oracle中文乱码
    Javascript 编程小技巧总结(部分内容借鉴他人)
    从文档流角度理解浏览器页面渲染引擎对元素定位的解析
    JS重点特性——闭包详解
    用一段JS代码来比较各浏览器的极限内存与运算速度
    前端开发人员需知——浏览器详解
    Js变量定义——fn里 var与不var的区别
    Js文字特效—文字段逐个变色循环
    html5 canvas画图之图形随拖动而复制(有操作指示)
  • 原文地址:https://www.cnblogs.com/z2273533704/p/10527396.html
Copyright © 2011-2022 走看看