用python 之turtle庫(模塊)畫太極圖、樓梯等

用python 之turtle庫(模塊)畫太極圖、樓梯等

 

畫簡易的太極圖

代碼如下:

import turtle

t=turtle.Turtle()

t.up()

t.goto(0,-50)#設置起始座標

t.down()

t.begin_fill()

t.fillcolor('black')

t.circle(150,extent=180)

t.circle(75,extent=180) #半徑正負代表逆時針和順時針畫

t.circle(-75,extent=180)

t.end_fill()

t.circle(-150,extent=180)

t.up()

t.goto(0,160)

t.down()

t.begin_fill()

t.fillcolor("white")

t.circle(30,extent=360)

t.end_fill()

t.up()

t.goto(0,0)

t.down()

t.begin_fill()

t.fillcolor("black")

t.circle(30,extent=360)

t.end_fill()

t.hideturtle() #隱藏海歸

turtle.done()

 

 

畫樓梯

法一

代碼如下:

import turtle

t=turtle.Turtle()

t.pensize(5)

t.forward(40)

t.left(90)

t.forward(40)

t.right(90)

t.forward(40)

t.left(90)

t.forward(40)

t.right(90)

t.forward(40)

t.left(90)

t.forward(40)

t.right(90)

t.forward(40)

t.left(90)

t.forward(40)

t.right(90)

t.forward(40)

t.left(90)

t.forward(40)

t.right(90)

t.forward(40)

t.hideturtle()

 

法二

代碼如下:

import turtle

t = turtle.Turtle()

t.forward(100)

t.left(145)

t.forward(70)

t.left(35)

t.forward(100)

t.backward(100)

t.left(-90) ##---↓--後面的每級臺階重複這一段代碼

t.forward(30)

t.right(125)

t.forward(70)

t.left(-55)

t.forward(30)

t.backward(30) #

t.left(90)

t.forward(30)

t.right(-145)

t.forward(70)

t.right(-35)

t.forward(30)

t.backward(30) ##--↑--這一段代碼

t.left(-90)

t.forward(30)

t.right(125)

t.forward(70)

t.left(-55)

t.forward(30)

t.backward(30)

t.left(90)

t.forward(30)

t.right(-145)

t.forward(70)

t.right(-35)

t.forward(30)

t.backward(30)

t.left(-90)

t.forward(30)

t.right(125)

t.forward(70)

t.left(-55)

t.forward(30)

t.backward(30)

t.left(90)

t.forward(30)

t.right(-145)

t.forward(70)

t.right(-35)

t.forward(30)

t.backward(30)

t.left(-90)

t.forward(30)

t.right(125)

t.forward(70)

t.left(-55)

t.forward(30)

t.backward(30)

t.left(90)

t.forward(30)

t.right(-145)

t.forward(70)

t.right(-35)

t.forward(30)

t.backward(30)

 

法三

代碼如下:

import turtle

#畫矩形立方體

def draw_cube(i):

    turtle.begin_fill() 

    turtle.color("black") 

    turtle.goto(i,i*3)

    turtle.goto(100+i,i*3)

    turtle.goto(100+i,20+i*3)

    turtle.goto(i,20+i*3)

    turtle.goto(i,i*3)

    turtle.end_fill()

    turtle.penup()

    turtle.goto(i,20+i*3)

    turtle.pendown()

    turtle.goto(10+i,30+i*3)

    turtle.goto(110+i,30+i*3)

    turtle.goto(110+i,10+i*3)

    turtle.goto(100+i,i*3)

    turtle.penup()

    turtle.goto(100+i,20+i*3)

    turtle.pendown()

    turtle.goto(110+i,30+i*3)

 

   

def main():

  for i in range(0,100,10):

      draw_cube(i)

  turtle.hideturtle()

 

main()

 

 

畫奧運標識

代碼如下:

for i in range(10):

    for j in range(i):

       import turtle

 

t = turtle.Pen()

t.circle(50)

 

t.penup()

t.setposition(-120, 0)

t.pendown()

t.circle(50)

 

t.penup()

t.setposition(60, 60)

t.pendown()

t.circle(50)

 

t.penup()

t.setposition(-60, 60)

t.pendown()

t.circle(50)

 

t.penup()

t.setposition(-180, 60)

t.pendown()

t.circle(50)

 

t.hideturtle()

 

繪製紅心

代碼如下:

import turtle

xin=turtle.Turtle()

xin.pencolor("red")

xin.fillcolor("red")

xin.begin_fill()

xin.left(45)

xin.forward(100)

xin.circle(50,180)

xin.right(90)

xin.circle(50,180)

xin.forward(100)

xin.end_fill()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章