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