ValueError:值太多,无法解压缩python

ValueError:值太多,无法解压缩python,python,unpack,Python,Unpack,为什么我会有这个错误: s = ('con', 'str', 'wit', 'int', 'dex', 'mp', 'p.def', 'm.def', 'p.atack', 'm.atack') c.execute("SELECT con, str, wit, _int, dex, mp, mdef, pdef, patack, matack FROM warrior_stat") t = c.fetchone()[:] for s1, t1 in s, t: print "%020s, "

为什么我会有这个错误:

s = ('con', 'str', 'wit', 'int', 'dex', 'mp', 'p.def', 'm.def', 'p.atack', 'm.atack') 
c.execute("SELECT con, str, wit, _int, dex, mp, mdef, pdef, patack, matack FROM warrior_stat")
t = c.fetchone()[:]
for s1, t1 in s, t: print "%020s, " - ", %010s, '\n'" % (s, t) 
回溯(最近一次呼叫最后一次):
文件“/test.py”,第49行,在
对于s,t中的s1,t1:打印“%020s”、“%010s”、\n“(s,t)
ValueError:要解压缩的值太多
我怎样才能修好它


谢谢大家的评论!!!我在印刷 %(s,t)代替(s1,t1) 及 拉链(s,t) 在这一次协调后,工作正常


不要把+1变成名声。但是我的声誉很低

我认为应该在里面有单引号

Traceback (most recent call last):
  File "./test.py", line 49, in <module>
    for s1, t1 in s, t: print "%020s, " - ", %010s, '\n'" % (s, t)
ValueError: too many values to unpack
在这种情况下,只格式化字符串的第二部分

print "%020s, " - ", %010s, '\n'" % (s, t)
在这里,你们可以看到值只有一个占位符,但传递了2个值 所以这是不正确的

我不知道为什么要引用
\n
。 这条线似乎应该是这样的:

", %010s, '\n'" % (s, t)

您需要压缩两个列表,并且应该是一个字符串:

print "%020s -  %010s, \n" % (s, t)

严格地说,你的第二个问题可能值得再问一个问题,因为现在你在别处遇到了问题

您将
%
操作应用于
“,%010s,'\n'
,这显然是不正确的

即使是这样,您也会遇到另一个错误:您试图从
%020s,
中减去结果字符串,但这不起作用

试一试


也许你想像这样使用
zip
函数:
对于z1,t1在zip中(s,t):…
试试这个:
对于s1,t1在s,t中:打印“%020s,”,%010s,“\n'”(s1,t1)
这不是你想要打印的吗?对于s1,t1在zip中(s,t):打印“%020s,”,%010s,“\n'”(s,t)TypeError:不是所有在字符串格式化过程中转换的参数,我想最后查看:
code
con-3000'
code
'str-300'等…@KobiK减去字符串不太可能有效。感谢所有评论!!!我正在打印%(s,t)而不是(s1,t1)并且zip(s,t)在这个corectionif used zip(s,t)-TypeError:不是所有的参数都在字符串格式化过程中转换错误是因为您有单独的字符串,当您将所有内容放在一个字符串中时,它应该可以正常工作。我更正了我的答案以反映这一点。”,%010s,“\n'”(s,t)相同的错误:ValueError:太多的值无法解压是的,这是同一个问题:(我只是想解释一下s1,t1在zip(s,t)中的位置:打印“%020s-%010s,\n”%(s1,t1)#
for s1, t1 in zip(s, t):
    print "%020s - %010s \n" % (s, t) 
print "%020s, " - ", %010s, '\n'" % (s, t) 
print "%020s - %010s" % (s, t)