我一直在尝试用16个单词做一个更难的表格。我已经用9个单词做了一个网格,但不能做16个单词。我的代码中不断出现“ValueError:need more 1 value to unpack”?你知道吗
#(Hard) This is the part of the program which puts the words in a Grid.
with open('WordsExt.txt') as f:
wordshard = random.sample([x.rstrip() for x in f],16)
gridhard = [wordshard[i:i + 3] for i in range(0, len(wordshard), 3)]
for x,y,z in gridhard:
print (x,y,z)
显然,发生错误是因为
gridhard
包含的元素少于3个。你知道吗在代码示例的第三行中,迭代器
i
的最后一个值是15,但是wordshard
的长度不超过16。在这种情况下,gridhard
将只包含一个字母,因此不能解压为三个值。你知道吗你在做一个4x4网格,所以那些
3
需要变成4
s此外,还可以使用
.join
方法构建word网格的每一行,这使得输出格式更加灵活:输出
如果我们将最后一行更改为
print(' | '.join(row))
,则输出变为:或者,我们可以通过使用
*
“splat”解包操作符,并在print
调用中指定分隔符字符串来获得相同的输出:相关问题 更多 >
编程相关推荐