使用Python的 turtle库绘制中国结,,需求:用python


需求:用python绘制一个与中国传统节日有关的图像,如春节→中国结

  1 import turtle as t  2 def goto(x,y):  3     t.penup()  4     t.goto(x,y)  5     t.pendown()  6       7 def init():  8     t.setup(800,800)  9     t.pensize(10) 10     t.pencolor("red") 11     t.speed(14) 12      13 def jiexin(): 14     m,n=0,200 15     for i in range(11): 16         goto(m,n) 17         t.seth(-45) 18         t.fd(200) 19         m-=20/pow(2,0.5) 20         n-=20/pow(2,0.5) 21          22     m,n=0,200 23     for j in range(11): 24         goto(m,n) 25         t.seth(-135) 26         t.fd(200) 27         m+=20/pow(2,0.5) 28         n-=20/pow(2,0.5) 29          30 def jiexiaoban(): 31     m=-20/pow(2,0.5) 32     n=200-20/pow(2,0.5) 33     for k in range(4): 34         goto(m,n) 35         t.seth(135) 36         t.fd(20) 37         t.circle(10,180) 38         t.fd(20) 39         m-=40/pow(2,0.5) 40         n-=40/pow(2,0.5) 41          42     m=20/pow(2,0.5) 43     n=200-20/pow(2,0.5) 44     for k in range(4): 45         goto(m,n) 46         t.seth(45) 47         t.fd(20) 48         t.circle(-10,180) 49         t.fd(20) 50         m+=40/pow(2,0.5) 51         n-=40/pow(2,0.5) 52   53     m=20/pow(2,0.5) 54     n=200-200*pow(2,0.5)+20/pow(2,0.5) 55     for k in range(4): 56         goto(m,n) 57         t.seth(-45) 58         t.fd(20) 59         t.circle(10,180) 60         t.fd(20) 61         m+=40/pow(2,0.5) 62         n+=40/pow(2,0.5) 63          64     m=-20/pow(2,0.5) 65     n=200-200*pow(2,0.5)+20/pow(2,0.5) 66     for k in range(4): 67         goto(m,n) 68         t.seth(-135) 69         t.fd(20) 70         t.circle(-10,180) 71         t.fd(20) 72         m-=40/pow(2,0.5) 73         n+=40/pow(2,0.5) 74          75 def waiyuan(): 76     goto(90*pow(2,0.5),200-110*pow(2,0.5)) 77     t.seth(-45) 78     t.circle(20,270) 79      80     goto(-90*pow(2,0.5),200-110*pow(2,0.5)) 81     t.seth(-135) 82     t.circle(-20,270) 83      84     goto(80*pow(2,0.5),200-120*pow(2,0.5)) 85     t.seth(-45) 86     t.circle(40,270) 87      88     goto(-80*pow(2,0.5),200-120*pow(2,0.5)) 89     t.seth(-135) 90     t.circle(-40,270) 91   92 def shengzi(): 93     goto(0,200) 94     t.pensize(20) 95     t.seth(90) 96     t.fd(60) 97     goto(0,320) 98     t.pensize(12) 99     t.seth(180)100     t.circle(30,360)101     102     goto(0,200-200*pow(2,0.5))103     t.pensize(40)104     t.seth(-90)105     t.fd(20)106     t.pensize(2)107     s=-20108     for i in range(11):109         goto(s,200-200*pow(2,0.5))110         t.seth(-90)111         t.fd(200)112         s+=4113         114 def hanzi():115     goto(-150,325)116     t.write("幸福中国结",font=("Arial",40,"normal"))117     118 def main():119     init()120     jiexin()121     jiexiaoban()122     waiyuan()123     shengzi()124     hanzi()125     t.hideturtle()126     t.done()127 main()128         

使用Python的 turtle库绘制中国结

评论关闭