Python:“Vec2D”对象不支持项赋值

2024-10-01 15:28:53 发布

您现在位置:Python中文网/ 问答频道 /正文

有点像是我上一个问题的后续,但它的多样性迫使我开始了一个新的线程。我需要将turtle从pythonturtle模块中创建的一个点的坐标四舍五入,我尝试的任何方法都会给出TypeError: 'Vec2D' object does not support item assignment。在

我有usedpositions: [[(-100.00,-0.00), 1], [(0.00,0.00), 2], [(100.00,0.00), 1]],其中每个子列表的第0项是coords,长话短说,我需要对其进行舍入。在

我尝试的第一个方法是

for upsublist in usedpositions:
    upsublist[0][0] = round(upsublist[0][0], 2)
    upsublist[0][1] = round(upsublist[0][1], 2)

这返回了前面提到的错误,也是这样

^{pr2}$

所以,我正在寻找一种简单的方法,把x和y坐标舍入到小数点后两位。感谢任何帮助。在


Tags: 模块方法supportobjectnotitem线程turtle
1条回答
网友
1楼 · 发布于 2024-10-01 15:28:53

Vec2D是不可变的;您可以用包含舍入坐标的新向量替换Vec2D实例,但不能修改原始实例。在

upsublist[0] = turtle.Vec2D(round(upsublist[0][0], 2), round(upsublist[0][1], 2))

相关问题 更多 >

    热门问题