Python学习——使用turtle画图

今天看了网课,还只会用turtle库画一些简单的图形。圆形和波浪线运用的还不是很熟练,没有用到循环,坐标计算有点麻烦,下次会加大对循环的练习。
画了一个房子吧(明明就是城堡 ),囿于技术太差只能不断简化了。

(循环不会使用导致代码太长了…下次一定改进)

把代码放出来,如下:

#house.py
import turtle as t


'''基本设定'''
t.pu()
t.pensize(3)
t.speed(800)
t.fd(-310)
t.seth(-90)
t.fd(180)
t.seth(0)
t.pendown()




'''地基1'''
t.fd(50)
t.seth(37)
t.fd(50)
t.seth(0)
t.fd(50)
t.seth(37)
t.fd(50)
t.seth(0)
t.fd(250)

t.seth(-37)
t.fd(50)
t.seth(0)
t.fd(50)
t.seth(-37)
t.fd(50)
t.seth(0)
t.fd(50)

'''地基2'''
t.penup()
t.goto(-310,-210)
t.pensize(10)
t.pencolor('grey')
t.pendown()
t.fd(50)
t.penup()
t.fd(40)
t.pendown()
t.fd(50)
t.penup()
t.fd(40)
t.pendown()
t.fd(250)
t.penup()
t.fd(40)
t.pendown()
t.fd(50)
t.penup()
t.fd(40)
t.pendown()
t.fd(50)
'''地基3竖线'''
t.penup()
t.goto(-310,-180)
t.pensize(2)
t.pencolor('grey')
t.seth(-90)
t.pd()
t.fd(30)
t.pu()
t.seth(0)
t.fd(50)
t.seth(90)
t.pd()
t.fd(30)
t.seth(37)
t.pu()
t.fd(50)
t.seth(-90)
t.pd()
t.fd(60)
t.left(90)
t.fd(50)
t.left(90)
t.fd(60)

t.seth(37)
t.pu()
t.fd(50)
t.seth(-90)
t.pd()
t.fd(90)
t.left(90)
t.fd(250)
t.left(90)
t.fd(90)

t.seth(-37)
t.pu()
t.fd(50)
t.seth(-90)
t.pd()
t.fd(60)
t.left(90)
t.fd(50)
t.left(90)
t.fd(60)

t.seth(-37)
t.pu()
t.fd(50)
t.seth(-90)
t.pd()
t.fd(30)
t.left(90)
t.fd(50)
t.left(90)
t.fd(30)

t.pu()
t.goto(-129,-121)
t.pensize(1)
t.color('lightskyblue')
t.pd()
t.begin_fill()
t.seth(-90)
t.fd(60)
t.seth(0)
t.fd(247)
t.seth(90)
t.fd(60)
t.end_fill()

t.pu()
t.goto(-219,-152)
t.pensize(1)
t.color('lightskyblue')
t.pd()
t.begin_fill()
t.seth(-90)
t.fd(40)
t.seth(0)
t.fd(48)
t.seth(90)
t.fd(40)
t.end_fill()

t.pu()
t.goto(161,-152)
t.pensize(1)
t.color('lightskyblue')
t.pd()
t.begin_fill()
t.seth(-90)
t.fd(40)
t.seth(0)
t.fd(48)
t.seth(90)
t.fd(40)
t.end_fill()
'''break开始第二层'''
'''基本设定'''
t.penup()
t.color('green')
t.pensize(10)
t.goto(-310,-160)
t.seth(0)
t.pendown()

'''地基1'''
t.fd(50)
t.seth(37)
t.fd(50)
t.seth(0)
t.fd(50)
t.seth(37)
t.fd(50)
t.seth(0)
t.fd(250)

t.seth(-37)
t.fd(50)
t.seth(0)
t.fd(50)
t.seth(-37)
t.fd(50)
t.seth(0)
t.fd(50)



'''屋顶1'''
t.begin_fill()
t.left(120)
t.fd(50)
t.left(120)
t.fd(50)
t.end_fill()
t.pu()
t.goto(-310,-160)
t.seth(0)
t.pd()
t.begin_fill()
t.left(60)
t.fd(50)
t.right(120)
t.fd(50)
t.end_fill()
'''地基2'''
t.pu()
t.color('green')
t.pensize(12)
t.goto(-230,-50)
t.seth(0)
t.pd()
t.fd(450)
'''柱子'''
t.pu()
t.pensize(2)
t.goto(-220,-50)
t.seth(-90)
t.pd()
t.begin_fill()
t.fd(80)
t.left(90)
t.fd(50)
t.left(90)
t.fd(80)
t.end_fill()
t.seth(0)
t.color('orange')
t.begin_fill()
t.seth(-90)
t.fd(80)
t.seth(37)
t.fd(50)
t.seth(90)
t.fd(50)
t.end_fill()
t.seth(0)
t.color('green')
t.begin_fill()
t.seth(-90)
t.fd(50)
t.seth(0)
t.fd(50)
t.seth(90)
t.fd(50)
t.end_fill()
t.seth(0)
t.color('orange')
t.begin_fill()
t.seth(-90)
t.fd(50)
t.seth(0)
t.fd(50)
t.seth(90)
t.fd(50)
t.end_fill()
t.seth(0)
t.color('green')
t.begin_fill()
t.seth(-90)
t.fd(50)
t.seth(0)
t.fd(50)
t.seth(90)
t.fd(50)
t.end_fill()
t.seth(0)
t.color('orange')
t.begin_fill()
t.seth(-90)
t.fd(50)
t.seth(0)
t.fd(50)
t.seth(90)
t.fd(50)
t.end_fill()
t.seth(0)
t.color('green')
t.begin_fill()
t.seth(-90)
t.fd(50)
t.seth(0)
t.fd(50)
t.seth(90)
t.fd(50)
t.end_fill()
t.seth(0)
t.color('orange')
t.begin_fill()
t.seth(-90)
t.fd(50)
t.seth(-37)
t.fd(50)
t.seth(90)
t.fd(80)
t.end_fill()
t.seth(0)
t.color('green')
t.begin_fill()
t.seth(-90)
t.fd(80)
t.seth(0)
t.fd(50)
t.seth(90)
t.fd(80)
t.end_fill()
t.seth(0)

'''第二层'''
t.pu()
t.goto(-90,50)
t.pensize(1)
t.color('darkred')
t.pd()
t.begin_fill()
t.seth(-90)
t.fd(97)
t.seth(0)
t.fd(170)
t.seth(90)
t.fd(97)
t.end_fill()


'''云'''

t.pu()
t.goto(-270,100)
t.pensize(8)
t.color('skyblue')
t.pd()
t.seth(0)
t.fd(170)
t.circle(20,270)
t.seth(90)

t.circle(30,130)
t.seth(90)
t.circle(50,178)

t.seth(180)
t.circle(23,180)


t.pu()
t.goto(-80,50)
t.color('darkorange')
t.pd()
t.begin_fill()
t.seth(0)
t.fd(150)
t.seth(90)
t.fd(27)
t.left(90)
t.fd(150)
t.left(90)
t.fd(27)
t.end_fill()

t.pu()
t.goto(-80,80)
t.color('orange')
t.pd()
t.begin_fill()
t.seth(0)
t.fd(150)
t.seth(90)
t.fd(30)
t.left(90)
t.fd(150)
t.left(90)
t.fd(30)
t.end_fill()

t.pu()
t.goto(-90,110)
t.color('dodgerblue')
t.pd()
t.begin_fill()
t.seth(0)
t.fd(170)
t.seth(90)
t.fd(10)
t.left(90)
t.fd(170)
t.left(90)
t.fd(10)
t.end_fill()

t.pu()
t.goto(-50,122)
t.color('darkorange')
t.pensize(8)
t.pd()
t.seth(90)
t.fd(40)

t.pu()
t.goto(40,122)
t.color('darkorange')
t.pensize(8)
t.pd()
t.seth(90)
t.fd(40)

t.pu()
t.goto(-22,190)
t.color('blue')
t.pensize(8)
t.pd()
t.seth(0)
t.begin_fill()
t.fd(30)
t.left(120)
t.fd(30)
t.left(120)
t.fd(30)
t.end_fill()


'''屋顶'''
t.pu()
t.goto(-85,169)
t.color('blue')
t.pensize(8)
t.pd()
t.seth(-40)
for i in range(1):
    t.circle(40,80)
    t.circle(-40,80)
    t.circle(40,80)
t.pu()
t.goto(-85,175)
t.color('deepskyblue')
t.pensize(8)
t.pd()
t.seth(-40)
for i in range(1):
    t.circle(40,80)
    t.circle(-40,80)
    t.circle(40,80)
    
t.pu()
t.goto(-85,182)
t.color('blue')
t.pensize(8)
t.pd()
t.seth(-40)
for i in range(1):
    t.circle(40,80)
    t.circle(-40,80)
    t.circle(40,80)
t.pu()
t.goto(-85,190)
t.color('deepskyblue')
t.pensize(8)
t.pd()
t.seth(-40)
for i in range(1):
    t.circle(40,80)
    t.circle(-40,80)
    t.circle(40,80)

'''房子们'''

t.pu()
t.goto(-30,-45)
t.color('darkorange')
t.pd()
t.begin_fill()
t.seth(0)
t.fd(50)
t.seth(90)
t.fd(70)
t.left(90)
t.fd(50)
t.left(90)
t.fd(70)
t.end_fill()

t.pu()
t.goto(-5,-35)
t.color('white')
t.pensize(8)
t.pd()
t.seth(90)
t.fd(60)
t.pu()
t.goto(-20,-35)
t.pensize(5)
t.pd()
t.seth(90)
t.fd(60)
t.pu()
t.goto(10,-35)
t.pensize(5)
t.pd()
t.seth(90)
t.fd(60)

t.pu()
t.goto(-20,35)
t.color('deepskyblue')
t.pensize(8)
t.pd()
t.seth(0)
t.begin_fill()
t.fd(30)
t.left(120)
t.fd(30)
t.left(120)
t.fd(30)
t.end_fill()

t.pu()
t.goto(-40,-45)
t.color('seagreen')
t.pd()
t.begin_fill()
t.seth(0)
t.fd(70)
t.seth(90)
t.fd(10)
t.left(90)
t.fd(70)
t.left(90)
t.fd(10)
t.end_fill()
t.pu()
t.goto(-40,25)
t.color('seagreen')
t.pd()
t.begin_fill()
t.seth(0)
t.fd(70)
t.seth(90)
t.fd(10)
t.left(90)
t.fd(70)
t.left(90)
t.fd(10)
t.end_fill()

'''房子2'''

t.pu()
t.goto(-180,-45)
t.color('darkorange')
t.pd()
t.begin_fill()
t.seth(0)
t.fd(50)
t.seth(90)
t.fd(70)
t.left(90)
t.fd(50)
t.left(90)
t.fd(70)
t.end_fill()

t.pu()
t.goto(-155,-35)
t.color('white')
t.pensize(8)
t.pd()
t.seth(90)
t.fd(60)
t.pu()
t.goto(-170,-35)
t.pensize(5)
t.pd()
t.seth(90)
t.fd(60)
t.pu()
t.goto(-140,-35)
t.pensize(5)
t.pd()
t.seth(90)
t.fd(60)

t.pu()
t.goto(-170,35)
t.color('deepskyblue')
t.pensize(8)
t.pd()
t.seth(0)
t.begin_fill()
t.fd(30)
t.left(120)
t.fd(30)
t.left(120)
t.fd(30)
t.end_fill()

t.pu()
t.goto(-190,-45)
t.color('seagreen')
t.pd()
t.begin_fill()
t.seth(0)
t.fd(70)
t.seth(90)
t.fd(10)
t.left(90)
t.fd(70)
t.left(90)
t.fd(10)
t.end_fill()
t.pu()
t.goto(-190,25)
t.color('seagreen')
t.pd()
t.begin_fill()
t.seth(0)
t.fd(70)
t.seth(90)
t.fd(10)
t.left(90)
t.fd(70)
t.left(90)
t.fd(10)
t.end_fill()


'''房子2'''

t.pu()
t.goto(120,-45)
t.color('darkorange')
t.pd()
t.begin_fill()
t.seth(0)
t.fd(50)
t.seth(90)
t.fd(70)
t.left(90)
t.fd(50)
t.left(90)
t.fd(70)
t.end_fill()

t.pu()
t.goto(145,-35)
t.color('white')
t.pensize(8)
t.pd()
t.seth(90)
t.fd(60)
t.pu()
t.goto(130,-35)
t.pensize(5)
t.pd()
t.seth(90)
t.fd(60)
t.pu()
t.goto(160,-35)
t.pensize(5)
t.pd()
t.seth(90)
t.fd(60)

t.pu()
t.goto(130,35)
t.color('deepskyblue')
t.pensize(8)
t.pd()
t.seth(0)
t.begin_fill()
t.fd(30)
t.left(120)
t.fd(30)
t.left(120)
t.fd(30)
t.end_fill()

t.pu()
t.goto(110,-45)
t.color('seagreen')
t.pd()
t.begin_fill()
t.seth(0)
t.fd(70)
t.seth(90)
t.fd(10)
t.left(90)
t.fd(70)
t.left(90)
t.fd(10)
t.end_fill()
t.pu()
t.goto(110,25)
t.color('seagreen')
t.pd()
t.begin_fill()
t.seth(0)
t.fd(70)
t.seth(90)
t.fd(10)
t.left(90)
t.fd(70)
t.left(90)
t.fd(10)
t.end_fill()


'''拱门'''
t.pu()
t.goto(-75,-43)
t.color('brown')
t.pd()
t.seth(270)
t.fd(2)
t.begin_fill()
t.seth(0)
t.fd(2)
t.seth(89)
t.fd(60)
t.seth(-90)
t.circle(8,-180)
t.seth(271)
t.fd(60)
t.goto(-75,-43)
t.end_fill()

t.pu()
t.goto(45,-45)
t.color('brown')
t.pd()
t.seth(270)
t.fd(2)
t.begin_fill()
t.seth(0)
t.fd(2)
t.seth(89)
t.fd(60)
t.seth(-90)
t.circle(8,-180)
t.seth(271)
t.fd(60)
t.goto(45,-45)
t.end_fill()

t.pu()
t.goto(-205,-208)
t.color('grey')
t.pd()
t.seth(270)
t.fd(2)
t.begin_fill()
t.seth(0)
t.fd(2)
t.seth(89)
t.fd(40)
t.seth(-90)
t.circle(8,-180)
t.seth(271)
t.fd(40)
t.goto(-205,-208)
t.end_fill()

t.pu()
t.goto(-120,-208)
t.color('grey')
t.pd()
t.seth(270)
t.fd(2)
t.begin_fill()
t.seth(0)
t.fd(2)
t.seth(89)
t.fd(40)
t.seth(-90)
t.circle(8,-180)
t.seth(271)
t.fd(40)
t.goto(-120,-208)
t.end_fill()

t.pu()
t.goto(-80,-208)
t.color('grey')
t.pd()
t.seth(270)
t.fd(2)
t.begin_fill()
t.seth(0)
t.fd(2)
t.seth(89)
t.fd(50)
t.seth(-90)
t.circle(8,-180)
t.seth(271)
t.fd(50)
t.goto(-70,-208)
t.end_fill()

t.pu()
t.goto(-25,-208)
t.color('grey')
t.pd()
t.seth(270)
t.fd(2)
t.begin_fill()
t.seth(0)
t.fd(2)
t.seth(89)
t.fd(60)
t.seth(-90)
t.circle(15,-180)
t.seth(271)
t.fd(60)
t.goto(-20,-208)
t.end_fill()

t.pu()
t.goto(40,-208)
t.color('grey')
t.pd()
t.seth(270)
t.begin_fill()
t.seth(0)
t.fd(2)
t.seth(89)
t.fd(50)
t.seth(-90)
t.circle(8,-180)
t.seth(271)
t.fd(50)
t.goto(30,-208)
t.end_fill()


t.pu()
t.goto(80,-210)
t.color('grey')
t.pd()
t.seth(270)
t.fd(2)
t.begin_fill()
t.seth(0)
t.fd(2)
t.seth(89)
t.fd(40)
t.seth(-90)
t.circle(8,-180)
t.seth(271)
t.fd(40)
t.goto(80,-208)
t.end_fill()

t.pu()
t.goto(175,-208)
t.color('grey')
t.pd()
t.seth(270)
t.fd(2)
t.begin_fill()
t.seth(0)
t.fd(2)
t.seth(89)
t.fd(40)
t.seth(-90)
t.circle(8,-180)
t.seth(271)
t.fd(40)
t.goto(175,-208)
t.end_fill()

'''背景'''



t.pu()
t.goto(118,130)
t.color('skyblue')
t.pd()
t.seth(0)
t.fd(170)
t.circle(20,270)
t.seth(90)

t.circle(30,130)
t.seth(90)
t.circle(50,178)

t.seth(180)
t.circle(23,180)


t.done()


这个画出来颜色还不错,我是借鉴的我上一篇转载的文章里的色彩表写的,才知道原来还有这么多种颜色。

最后成品如下:还凑合哈哈哈~下次希望能更好吧

这次画了好长时间,想画更复杂的图形,这个图完全是最基本的操作了,想多运用公式画出更有美感的图片。

猜你喜欢

转载自blog.csdn.net/syd_de_blog/article/details/88081912