在python3.5中已经包括tkinter和turtle模块了,所以想要画图可以直接import turtle。
turtle中最基本的几个方法:
1、画线:
fd(x) #沿着当前方向画x长的线段
bk(x) #沿着当前的反方向画x长的线段
goto(x, y) #从当前点到(x, y)点画线,方向不改变
home() #从当前点到起始点的线段,并将方向也转回起始方向
circle(radius, angle, step) #即可以画圆画弧,也可以画多边形
2、转向:
rt(angle) #向右转angle度
lt(angle) #向左转angle度
3、其他属性:
speed(x) #设置画线速度,从1到10逐渐加速,0为最快速度
pu() #抬起画笔,再调用画线方法时只移动位置不画线
pd() #将抬起的画笔放下,开始作画
练习(像计算机科学家一样思考python,第四章习题):
每次画一条折线,像风车一样转完一圈,第一次我画完折线后使用了home()使画笔回到原点,后来发现画笔转圈找下一条线的方向好费时间。
所以后来改用了bk(),先将方向调整好,再让画笔退回原点。速度提升很多
def drawline(t, r, a, l):
t.fd(r)
t.rt(a)
t.fd(l)
t.lt(180 - a)
t.pu()
t.bk(r)
def pie(t, n, r):
a = 180 / n + 90
l = 2 * r * math.sin(math.pi / n)
for i in range(n):
drawline(t, r, a, l)
t.pd()
number = int(input("多边形有几条边:"))
radius = int(input("多边形中心到各角顶点的距离:"))
bob = turtle.Turtle()
pie(bob, number, radius)
turtle.mainloop()