在下面的代码中row_string =" "工作正常吗?

时间:2017-07-20 22:10:47

标签: python string

我是python的新手,我有以下代码并且很难理解第3行和第3行。 6(双星报价)!

a=5
for row in range(1, a + 1):
    **row_string = ""**
    for column in range(1, a + 1):
        product = row * column
        **row_string += str(product) + "\t"**
    print(row_string)

在这段代码中,我没有理解第3行和第6行(双星引用)。是否有可能向我描述这些线条是如何执行的?如果可能的话请详细说明。 提前谢谢。

3 个答案:

答案 0 :(得分:1)

每次外部循环运行时,外部循环中的row_string = ""会创建一个新的空字符串。

因此,当内循环开始运行时,row_string是一个空字符串。现在,每次内部循环运行时,都会向该空字符串添加(附加)某些内容,即product的值转换为字符串和选项卡\t。内循环完成后,整个字符串都会打印出来。

实际上row_string = ""有两个目的:首先它会创建一个空字符串,因此您可以附加一些内容。第二,它确保每次内循环运行时,都会使用一个新的字符串(因此外部循环彼此独立)

答案 1 :(得分:0)

对于每一行,我们将所有列值组合成一个字符串。

因此,在第一个标记的位置,我们正在为row_string分配一个空字符串。这清除了之前的任何内容。

接下来,在第二个for循环中,我们遍历并将“product”和制表符附加到row_string。

内部for循环完成后,我们打印字符串,然后跳回到顶部。在这里我们清除字符串,然后在第二行重新开始。

所以如果我们的表看起来像这样:

red    | blue   | green
purple | yellow | orange

我们的输出看起来像:

red    blue    green
purple    yellow    orange

答案 2 :(得分:0)

变量“row_string”在第3行被设置为空变量,因此第二个for循环可以在每次迭代时创建不同的列。因此,python将第一个变量设置为“1”,并将第一列的相同变量添加到自身5次。然后在调用下一列之前,下一行创建为“2”,因此列迭代可以在列中向其自身添加2。