如何将变量值更改为for循环中的一个固定变量?

时间:2015-12-22 21:26:57

标签: python string function variables for-loop

这个问题看起来很混乱我知道但是听我说。我的函数生成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行打印出的不仅仅是最后一行???

1 个答案:

答案 0 :(得分:1)

grid1 = '\n'.join(' '.join(row) for row in grid)