Python 用turtle画房子

二层小阁楼

最近作业写的小例子,还可以,不算太丑。

效果如下:
Python 用turtle画房子_第1张图片
代码如下:

import turtle as t
import time
def go(x,y):
    t.penup()
    t.goto(x,y)
    t.pendown()
 def rangle(h,w):
    t.left(180)
    t.forward(h)
    t.right(90)
    t.forward(w)
    t.left(-90)
    t.forward(h)
def leftf(a,l):
    t.left(a)
    t.forward(l)
def rightr(a,l):
    t.right(a)
    t.forward(l)
def square(w,h):
    t.forward(h)
    t.right(90)
    t.forward(w)
    t.right(90)
    t.forward(h)
    t.right(90)
    t.forward(w)
t.pencolor("#2F4F4F")
t.hideturtle()
t.speed(100)
t.bgcolor("#48D1CC")
t.penup()
t.goto(-600,-250)
t.pendown()
t.forward(950)
t.goto(-400,-250)
t.fillcolor("#B0E0E6")
t.begin_fill()
t.left(90)
t.forward(15)
t.right(90)
t.forward(225)
t.left(-90)
t.forward(15)
#门
rangle(22,150)
rangle(15,225)
#柱子
go(-385,-235)
rangle(15,23)
go(-383,-220)
rangle(100,18)
go(-385,-120)
t.left(90)
t.forward(23)
go(-385,-120)
t.right(90)
rangle(15,23)

go(-280,-235)
rangle(15,23)
go(-278,-220)
rangle(100,18)
go(-280,-120)
t.left(90)
t.forward(23)
go(-280,-120)
t.right(90)
rangle(15,23)

go(-160,-228)
rangle(15,23)
go(-158,-213)
rangle(93,18)
go(-160,-120)
t.left(90)
t.forward(23)
go(-160,-120)
t.right(90)
rangle(15,23)

go(-63,-228)
rangle(15,23)
go(-61,-213)
rangle(93,18)
go(-63,-120)
t.left(90)
t.forward(23)
go(-63,-120)
t.right(90)
rangle(15,23)

go(60,-235)
rangle(15,23)
go(62,-220)
rangle(100,18)
go(60,-120)
t.left(90)
t.forward(23)
go(60,-120)
t.right(90)
rangle(15,23)

go(162,-235)
rangle(15,23)
go(164,-220)
rangle(100,18)
go(162,-120)
t.left(90)
t.forward(23)
go(162,-120)
t.right(90)
rangle(15,23)
t.end_fill()

#顶
t.fillcolor("#F0E68C")
t.begin_fill()
go(-400,-105)
leftf(90,600)
leftf(90,10)
leftf(35,50)
leftf(55,538)
leftf(55,55)
leftf(35,6.5)
t.end_fill()
#三角形部分
t.fillcolor("#B0E0E6")
t.begin_fill()
go(-149,5)
leftf(150,103)
rightr(120,100)
rightr(90,10)
rightr(90,81)
leftf(120,85)
rightr(90,11.5)
go(-137,8)
leftf(120,76)
leftf(90,78)
leftf(90,76)
leftf(30,75.9)
leftf(120,81.2)
t.end_fill()

go(-120,-52)
leftf(120,45)
leftf(90,15)
leftf(90,45)
leftf(90,15)
t.fillcolor("#5F9EA0")
t.begin_fill()
go(-115,-37)
leftf(180,30)
rightr(90,30)
rightr(90,30)
rightr(90,30)
t.end_fill()
#窗子
go(-85,-7)
t.right(90)
t.circle(15,180)
leftf(90,30)
t.fillcolor("#B0E0E6")
t.begin_fill()
go(-320,-45)
t.left(90)
square(150,15)
t.end_fill()
t.fillcolor("#5F9EA0")
t.begin_fill()
go(-305,-30)
t.right(90)
square(120,25)
t.end_fill()
t.fillcolor("#5F9EA0")
t.begin_fill()
go(-305,-5)
t.right(90)
square(120,25)
t.end_fill()
go(-245,20)
t.left(90)
t.forward(50)
#窗子
go(-20,-45)
t.fillcolor("#B0E0E6")
t.begin_fill()
t.left(180)
square(150,15)
t.end_fill()
t.fillcolor("#5F9EA0")
t.begin_fill()
go(-5,-30)
t.right(90)
square(120,25)
t.end_fill()
t.fillcolor("#5F9EA0")
t.begin_fill()
go(-5,-5)
t.right(90)
square(120,25)
t.end_fill()
go(55,20)
t.left(90)
t.forward(50)
go(150,39)
t.forward(100)
#烟筒
go(-275,130)
t.left(180)
t.fillcolor("#B0E0E6")
t.begin_fill()
square(20,40)

go(-280,170)
t.right(90)
square(30,20)
t.end_fill()
go(-370,55)
rightr(180,110)
go(-250,55)
t.forward(35)
go(-205,55)
t.forward(80)
go(-67,55)
t.forward(120)
go(60,55)
t.forward(35)
go(100,53)
t.forward(60)
go(-395,-95)
t.forward(300)
go(-90,-95)
t.forward(35)
go(-40,-95)
t.forward(55)
go(25,-95)
t.forward(175)
#门
go(-70,-229)
leftf(90,90)
t.circle(30,180)
t.forward(90)
go(-80,-180)
t.fillcolor("#5F9EA0")
t.begin_fill()
t.circle(5,360)
t.end_fill()

仅供参考

你可能感兴趣的:(turtle,python)