2017-07-20 70 views
-12

我是全新的python,我有以下代碼,並有一個難以理解的行3 & 6(雙星報價)!在下面的代碼中,row_string =「」是如何工作的?

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行(雙引號)。是否有人可以描述這些線條如何執行?如果可能,請詳細說明。 在此先感謝。

+5

你明白一個'for'循環,但不是變量賦值? – kindall

+4

你對這些行感到困惑嗎? – user2357112

+2

它創建一個空字符串,然後向它添加東西,由製表符分隔。每個循環都會重置字符串。 –

回答

1

外循環中的row_string = ""每次運行外循環時都會創建一個新的空字符串。

所以當內循環開始運行時,row_string是一個空字符串。現在,每當內部循環運行時,都會將某些內容添加(添加)到該空字符串中,即將值product轉換爲字符串和選項卡\t。當內部循環結束時,整個字符串被打印。

其實row_string = ""有兩個目的:首先它創建一個空字符串,所以你有東西要追加。第二,它確保每次內循環運行時都使用新鮮的字符串(因此外循環彼此獨立)

0

看起來像是每行,我們將所有列值合併到一起一弦。

因此,在第一個標記的位置,我們正在爲row_string分配一個空字符串。這清除了之前的任何內容。

接下來,在第二個for循環中,我們通過並將「product」和一個製表符添加到row_string中。

一旦內循環完成,我們打印字符串,然後跳回到頂部。在這裏,我們清除字符串,並在第二行重新開始。

所以,如果我們的表看起來像這樣:

red | blue | green 
purple | yellow | orange 

我們的產量將如下所示:

red blue green 
purple yellow orange 
0

變量「row_string」設置爲第3行,使得第二空變量for循環可以通過每次迭代創建一個不同的列。所以,python將第一個變量設置爲「1」,併爲第一列添加同樣的變量5次。然後在下一列被調用之前,下一行被創建爲「2」,所以列迭代可以在列中向自身加2。

相關問題