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_
已经被定义为将被设置为的东西,但在我的测试中这并没有给出这个错误。)
函数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"
在开始之前,我想说我是编码新手,所以如果我的问题有一个我看不到的简单答案,那么,你知道为什么。无论如何,这是给出错误的部分:
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_
已经被定义为将被设置为的东西,但在我的测试中这并没有给出这个错误。)
函数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"