“需要超过0个值才能解包”错误消息

2024-09-27 00:19:38 发布

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

我正在尝试创建一个合并排序动画,它根据对象的分数按升序移动对象。我发布的代码是导致问题的唯一代码部分(我相信)。在

动画代码:

def moveAnimation(self):
    vx = 20.0
    vy = 20.0
    for i in range (1,len(treasurePointsList)):
        for treasure in treasurePointsList:
            if treasurePointsList[0] == Treasure1.points:
                x,y = canvas.coords(Treasure1)
                canvas.coords(Treasure1,x+vx,y+vy)
                canvas.update()
                x1,y1,x2,y2 = canvas.coords(Treasure1)
                time.sleep(0.1)

整个代码:

^{pr2}$

最后一个错误是:

Traceback (most recent call last):
  File "C:/Users/Jodie/Documents/Alex/ALL Project/Project 2/Sorting Animation.py", line 91, in <module>
    Treasure3.moveAnimation()
  File "C:/Users/Jodie/Documents/Alex/ALL Project/Project 2/Sorting Animation.py", line 30, in moveAnimation
    x,y = canvas.coords(Treasure1)
ValueError: need more than 0 values to unpack

Tags: 对象代码inprojectfor动画coordsusers
1条回答
网友
1楼 · 发布于 2024-09-27 00:19:38

Treasure1似乎是珍宝类的一个实例,它看起来像是在创建Treasure类本身的方法定义中引用的。从长远来看,可能对你有帮助的是问问你自己,Treasure.moveAnimation中变量Treasure1的预期用途。在

它可能会向您抛出此错误,因为类中的Treasure1实际上是Treasure.moveAnimation.Treasure1,而不是稍后在代码中实例化的Treasure1。我的猜测是Treasure.moveAnimation.Treasure1没有指向任何东西,因此它给您的错误是显示{}与类似None的东西关联。在

如果我的解释是正确的,这并不是我所期望的错误,但是将一个类的实例的名称放在该类中是非常递归的,并且可能会发生很多奇怪的事情,因此很难找到错误的确切来源。在

我的建议是在不引用类定义内的类实例的情况下,找到一种方法来执行您想要的操作。在

相关问题 更多 >

    热门问题