创建一个名为data的txt文件,其中存放:
300,0,144,1,0,0
300,0,144,0,1,0
300,0,144,0,0,1
300,0,144,1,1,0
300,0,108,0,1,1
184,0,72,1,0,1
184,0,72,0,0,0
184,0,72,0,0,0
184,0,72,0,0,0
184,1,72,1,0,1
184,1,72,0,0,0
184,1,72,0,0,0
184,1,72,0,0,0
184,1,72,0,0,0
184,1,720,0,0,0
import turtle as t
t.title("自动轨迹绘制")
t.setup(800,600,0,0)
t.pencolor("red")
t.pensize(5)
#数据读取
datals = []
f = open("data.txt")
for line in f:
line = line.replace("\n","")
datals.append(list(map(eval,line.split(","))))#每一行数据以列表作为元素存储于列表datals中
f.close() #map()函数:将第一个参数的效果依次作用于第二个参数的内部元素
#自动绘制
for i in range(len(datals)): #len()的返回的值是datals中的元素个数而不是作为元素的列表中元素的个数
t.pencolor(datals[i][3],datals[i][4],datals[i][5])
t.fd(datals[i][0])
if datals[i][1]:
t.right(datals[i][2])
else:
t.left(datals[i][2])
举一反三:
1.文件中数据是根据自己的想法存放的,每个人存放的方式都可能不同。
2.不仅仅是可以改变画笔的颜色,画笔的转向,也可以改变画笔的大小、跳转到某个位置、弧形的绘制等等。
3.当需要绘制不同的图形时,不需要更改代码,只需要更改文件内的数据即可。