以下是部分代码预览。
"""
海龟画图原理类Pointer类,
本程序提供Pointer类,它的移动方式和海龟一样,
这个程序抽象出Python海龟画图最基本的原理以肆读者。
"""
__author__ = '李兴球'
__date__ = '2020/03/30'
__blog__ = 'www.lixingqiu.com'
import math
class Pointer:
def __init__(self,pos=(0,0),angle=0):
"""
初始化方法,pos:坐标,angle:角度
"""
self._angle = angle # 朝向,也就是和x轴的夹角angle
self._pos = pos # 初始坐标
def setheading(self,angle):
"""设置朝向"""
self._angle = angle
def heading(self):
"""返回朝向"""
return self._angle
def right(self,dangle):
"""右转dangle度"""
self._angle -= dangle
self.setheading(self._angle)
def left(self,dangle):
"""左转dangle度"""
self.right(-dangle)
def position(self):
"""返回坐标"""
return self._pos
def goto(self,x,y=None):
"""到某坐标"""
if y == None:
self._pos = x[0],x[1]
else:
self._pos = x,y
以下代码省略......
def main():
"""主要执行函数"""
n = 6
pos = (100,100)
angle = 0
t = Pointer(pos,angle) # 实例化一个指针
points = [] # 收集坐标点的列表
for _ in range(n):
points.append(t.position()) # 把指针当前坐标加到列表
t.forward(100) # 指针前进100个单位
t.left(360/n) # 指针左转360/n度
print(points)
# 下面新建海龟把每个坐标点都打印出来
x = Turtle()
x.penup()
for p in points:
x.goto(p)
x.dot(10)
x.screen.mainloop()
if __name__ == "__main__":
from turtle import *
main()
下载完整源代码与素材,请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)
