2015-11-18 20 views
0
def PlayEasy(): 
    list = [] 
    filename = 'words.txt' 
    with open(filename) as f: 
     content = f.readlines() 
    list.append(content) 
    print(list) 
    print(list[0] + list[1] + list[2]) 
    print(list[3] + list[4] + list[5]) 
    print(list[6] + list[7] + list[8]) 

運行,但收到​​此錯誤信息:回溯:列表索引超出嘗試的範圍

Traceback (most recent call last): 
    File "<pyshell#7>", line 1, in <module> 
    PlayEasy() 
    File "/home/bourne-grammar.lincs.sch.uk/99dj12/Documents/Ca2/2016-DJ-Traditional/CA2/Code.py", line 24, in PlayEasy 
    print(list[1] + list[1] + list[2]) 
IndexError: list index out of range 

我想打印出所有9項列表的3×3格。

+0

我想你的意思''list.extend''而不是''list.append''。 –

+1

也...不使用'list'作爲變量名,'list'是一個內置的將要覆蓋 –

+0

AOS注意,錯誤消息不匹配任何代碼類型,你不必一代碼行說'print(list [1] + list [1] + list [2])''。請明確點!它將長期得到回報。 – Torxed

回答

1

您的列表只有一個項目 - 來自readline的行列表。 你應該使用extend()而不是append()。

一些更多的注意事項:

  • 我不明白你爲什麼需要list變量。內容已經是一個列表。

  • list是一個關鍵字,所以它不是變量的好名字。

+0

謝謝,已刪除列表並僅使用內容。似乎是現在的工作:) –

+0

請把它標記爲答案呢:) –

+0

只是在等待,要等待2分鐘:') –

0

我認爲content已經是一個列表。所以你可以print(content)

0

內容已經列表無需追加到新列表。

但爲了避免新行字符聲明類似下面

new_list = []

爲line_data在內容new_list: new_list.append(line_data.strip())