这个问题看起来很混乱我知道但是听我说。我的函数生成9个随机的5个字母单词并放入网格中。然后在分配给可变的" grid1"之后打印出网格。问题是网格形式的单词只能在for循环中打印,而不是在它之外打印,如下所示:
def function():
random_words = [''.join(random.sample(ascii_letters, 5)) for i in range(20)]
# select 9 from the random words and make grid
words = random.sample(random_words, 9)
function()
结果:
ShVJG QPdpH VjkWE
CJlTB ktcna Vqgvx
cLnuB zQMGZ JvZrc
cLnuB zQMGZ JvZrc
当我将它打印出循环时,我需要在一个变量中使用网格形式的单词,这样我就可以在其他地方使用包含网格形式的单词的变量,就像在tkinter中的顶层窗口中一样(使用网格变量作为标签等等)。但事实是,当varaaible打印出循环时,只打印最后一个网格行(因为循环中的变量变化)。如何从for循环中获取单词grid,将其分配给变量,并在循环外部打印变量,确保所有3行打印出的不仅仅是最后一行???
答案 0 :(得分:1)
grid1 = '\n'.join(' '.join(row) for row in grid)