当前位置 主页 > 网站技术 > 代码类 >

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

    栏目:代码类 时间:2019-11-23 21:04

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

    # 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()