Python自动轨迹绘制程序:
#AutoTraceDraw.py
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(","))))
f.close()
#自动绘制
for i in range(len(datals)):
t.pencolor(datals[i][3],datals[i][4],datals[i][5]) #rgb
t.fd(datals[i][0]) #前进长度
if datals[i][1]: #1为右转,0则左转
t.right(datals[i][2]) #转动角度
else:
t.left(datals[i][2])
t.hideturtle() #隐藏箭头
t.done() #停止画笔绘制,但绘图窗体不关闭
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
报错:
解决:
(参考: https://blog.csdn.net/weixin_44129464/article/details/86292325)
eval内参数为空时报错,需要加入if判断
eval()语法为:eval(expression[, globals[, locals]])。expression参数不为空。
代码改为:
#数据读取
datals=[]
f=open("data.txt")
for line in f:
line=line.replace("\n","")
if line !="": #eval内参数为空时报错EOF,需加if判断
datals.append(list(map(eval,line.split(","))))
f.close()
RUN后报错消失,成功绘制。‘