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