Python课程笔记(七)

今天学习神奇的海龟,非常有意思,还有很多图片想去绘制,分享一个turtle绘图网站: https://www.python123.io/index/turtles/latest , 要是可以分享出源码就好了。


1、海龟画三角形

先来一个简单的三角形,观察left函数和right函数的区别。

from turtle import *

forward(200)
left(120)
forward(200)
left(120)
forward(200)
left(120)

done()

稍作修改呢

from turtle import *

forward(200)
right(120)
forward(200)
right(120)
forward(200)
right(120)

done()

2、海龟画一个正方形

from turtle import *
'''
练习1:画一个正方形,从原点(0,0)出发,前进100,左转90度,
前进100,左转90度,前进100,左转90度,前进100,左转90度。
'''

forward(100)
left(90)
forward(100)
left(90)
forward(100)
left(90)
forward(100)
left(90)

done()

3、海龟画凸形

画懂该图形,海龟的方向我们一定就能掌握了。

不嫌麻烦的画了一个转向图,便于理解:

from turtle import *

forward(50)
left(90)
forward(50)
right(90)
forward(50)
left(90)
forward(50)
right(90)
forward(50)
right(90)
forward(50)
left(90)
forward(50)
right(90)
forward(50)
left(90)
forward(50)

done()

4、海龟画五角星

from turtle import *

forward(200)
right(144)
forward(200)
right(144)
forward(200)
right(144)
forward(200)
right(144)
forward(200)

done()

5、海龟的速度

先来体验看看!在此请copy观赏

from turtle import *

speed(1)
forward(200)
right(120)
speed(5)
forward(200)
right(120)
speed(10)
forward(200)

取值范围在[0,10],speed越大画笔完成动作的速度越快。在这里测试,我个人感觉0的速度和10的速度一样(其实0是直接构建图形喽?)。当给定值大于10或者小于0.5,则统一设置为0

6、海龟走坐标

goto(x,y) 根据坐标来绘图

from turtle import *

goto(100,0)
goto(100,100)
goto(-100,100)
goto(-100,-100)
goto(100,-100)

done()

7、海龟画太阳

学会运用循环,再加上颜色,构建有难度的图形

from turtle import *

'''
turtle是python绘制图形时使用的一个函数库,abs(pos())是使用turtle绘图时用的一个语句。
abs:绝对值   pos:位置
abs(pos())<10: 可理解为 画笔所处位置的坐标,距离原点(0,0)的距离的绝对值小于10
'''

color('red', 'yellow')
begin_fill()
while True:
    forward(200)
    left(170)
    if abs(pos()) < 10:
       break
end_fill()
done()

8、自行完成一幅作品

根据网上作品学习改编了一哈,一款纪念作。

from turtle import *

bgcolor("black")
hideturtle()
penup()
width(3)
goto(-200,0)
color("gold")


goto(-204,-12)
begin_fill()
fillcolor("purple")
pendown()
right(90)
forward(160)
right(128)
forward(20)
right(45)
forward(112)
goto(-204,-12)
end_fill()

penup()
goto(-204,0)
pendown()
begin_fill()
fillcolor("purple")
setheading(155)
forward(112)
left(133)
forward(32)
left(30)
forward(68)
goto(-204,0)
end_fill()

penup()
goto(-204,8)
pendown()
begin_fill()
fillcolor("purple")
setheading(90)
forward(32)
left(67)
forward(80)
left(42)
forward(28)
goto(-204,8)
end_fill()

penup()
goto(-196,-12)
begin_fill()
fillcolor("purple")
pendown()
setheading(270)
forward(160)
left(128)
forward(20)
left(45)
forward(112)
goto(-196,-12)
end_fill()

penup()
goto(-196,0)
pendown()
begin_fill()
fillcolor("purple")
setheading(25)
forward(112)
right(133)
forward(32)
right(30)
forward(68)
goto(-196,0)
end_fill()

penup()
goto(-196,8)
pendown()
begin_fill()
fillcolor("purple")
setheading(90)
forward(32)
right(67)
forward(80)
right(42)
forward(28)
goto(-196,8)
end_fill()

penup()
color("purple")
goto(0,0)
write("manba out forever", font=('Consolas', 24, 'normal'))
goto(80,-50)
write("1.26", font=('Consolas', 24, 'normal'))


done()
posted @ 2020-04-08 17:30  我在吃大西瓜呢  阅读(428)  评论(0编辑  收藏  举报