import turtle
def main():
#设置窗口信息
turtle.title('数据驱动的动态路径绘制')
turtle.setup(800, 600, 0, 0) # 坐标原点在中心
#设置画笔
pen = turtle.Turtle()
pen.color('red')
pen.width(4)
pen.shape('turtle')
pen.speed(5)
#读取文件
result = [] #定义一个空列表
file = open('data.txt', 'r')
for line in file:
result.append(list(map(float, line.split(',')))) # map()将其他类型的数转换成list
# list(map(float, line.split(','))) 将float作用于line.split(',')每一项,并生成一个list
print(result)
# 动态绘制
# 300(forward 300px), 0(0:left; 1:right), 144(angle), 1, 0, 0 (rgb)
for i in range(len(result)):
pen.color(result[i][3], result[i][4], result[i][5])
pen.forward(result[i][0])
if result[i][1]:
pen.rt(result[i][2]) # rt : right
else:
pen.lt(result[i][2]) # lt : left
pen.goto(0, 0) #将画笔定位于窗口的原点
if __name__ == '__main__':
main()
len(result)的值不应该为9吗?为什么画出来的图比循环多画了好几笔啊?
因为你看到的第一张PPT里右边的data.txt给出的数据不全,还有几行没显示出来,得向下拖动滚动条才能看全