首先,该课程实例11的内容为自动绘制轨迹
课程所给定的代码如下
#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])
t.fd(datals[i][0])
if datals[i][1]:
t.right(datals[i][2])
else:
t.left(datals[i][2])
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,1,0,0
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,72,0,0,0
代码全部敲进去,首次运行,提示报错
Traceback (most recent call last):
File "F:/PycharmProjects/untitled/1.py", line 10, in <module>
for line in f:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence
这里问题主要出在第10行代码
f=open("data.txt")
通过查找资料,原因可能是python识别不了txt文件的编码,这里需要声明一下
可以修改为
f=open("data.txt",encoding="utf-8")
再次运行,依然报错(这个错误也就是本文要说的主要问题,我花了一天的时间查找资料,反复尝试才找到解决办法),错误提示为:
Traceback (most recent call last):
File "F:/PycharmProjects/untitled/1.py", line 12, in <module>
datals.append(list(map(eval, line.split(","))))
File "<string>",