ValueError: too many values to unpack (expected 4) but there is four

ValueError: too many values to unpack (expected 4) but there is four

在开始之前,我想说我是编码新手,所以如果我的问题有一个我看不到的简单答案,那么,你知道为什么。无论如何,这是给出错误的部分:

class_, weapon, rogue_wep, race = class_selection(class_, weapon, rogue_wep, race)

print(class_ + weapon + rogue_wep + race)

现在,当我向我解释这个值错误时,我将其理解为一侧的变量多于另一侧,例如:

a, b, c, = example_func(a, b, c, d)

这将是一个错误,因为右侧有太多变量打包到左侧。那么在我的例子中,四个变量被打包成四个变量。 (需要注意的是:class_ 已经被定义为将被设置为的东西,但在我的测试中这并没有给出这个错误。)

整个游戏代码:https://pastebin.com/uUVwwJBb

函数class_selection return只有一个变量:__class 所以你应该做的是:

class_ = class_selection(class_, weapon, rogue_wep, race) print(class_ + weapon + rogue_wep + race)
print(class_ + weapon + rogue_wep + race)

如果你想要 4 个值 class_selection 应该 return 它们:

return class_, weapon, rogue_wep, race

编辑: 阅读您的代码后,我认为您需要阅读 python 中的全局变量。发生的情况是函数内部分配的值未分配给您定义的全局变量。为此你需要做:

global x
x = "some value"