[英]ValueError: too many values to unpack (expected 2) PYTHON
class Strength(State):
def run(self, gamedata):
print("You have 100 points to assign to your character.\n Start now to assign those Points to your characters strength, agility, speed and defense.")
strenghtwert = int(input("STRENGTH: >>"))
return AGILITY, gamedata, strenghtwert
def next(self, next_state):
if next_state == AGILITY:
return CreatePlayer.agility
class Agility(State):
def run(self, gamedata,strenghtwert):
agilitywert = int(input("AGILITY: >>"))
return SPEED, gamedata, strenghtwert, agilitywert
def next(self, next_state):
if next_state == SPEED:
return CreatePlayer.speed
执行此操作时,出现错误: ValueError: too many values to unpack (expected 2)
。 我认为错误是在Strength
类中的run()
中return AGILITY, gamedata, strenghtwert
。
知道有什么问题吗?
成功执行的最后一行是同一函数中的strenghtwert = int(input("STRENGTH: >>"))
。
如果没有更多信息,例如如何进行调用,这些变量的类型是什么,错误的堆栈跟踪或完整的代码。
多次分配期间通常会发生此错误,在这种情况下,您没有足够的对象分配给变量,或者您分配的对象比变量多。
例如,如果myfunction()返回的迭代器包含三个项目,而不是预期的两个项目,那么您将拥有比分配给变量所需的对象更多的对象。
def myfunction():
return 'stuff', 'and', 'junk'
stuff, junk = myfunction()
Traceback (most recent call last): File "/test.py", line 72, in <module> stuff, junk = myfunction() ValueError: too many values to unpack (expected 2)
这可以在变量多于对象的地方以另一种方式起作用。
def myfunction():
return 'stuff'
stuff, junk = myfunction()
Traceback (most recent call last): File "/test.py", line 72, in <module> stuff, junk = myfunction() ValueError: too many values to unpack (expected 2)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.