2015-08-15 58 views
0

我正在創建一個程序,讓用戶輸入一個列表,然後從該列表中生成一個表格。該列表中的元素(對於new_table函數)將成爲列的標籤。Python stdout和for循環將不會打印列表中的第一個元素(第二個元素替換第一個元素))

from sys import stdout 

def new_table(columns): 
    for i in columns: 
     length = len(i) 
     stdout.write('-' * (length + 8)) 
    print('\r') 
    for x in columns: 
     stdout.write('| ' + i + ' |') 

new_table(['Animal', 'Danger']) 

然而,當我運行該程序,在顯示列表中的兩個元件作爲列標題/標籤代替它僅顯示兩個標題的第二個(第二元件替換第一):

---------------------------- 
| Danger || Danger | 

我想它顯示是這樣的:

---------------------------- 
| Animal || Danger | 

感謝您的幫助和建議。

回答

3

一致性幫助。您循環使用x,但使用i

相關問題