2015-10-18 118 views
-1

我試圖加載一個3x3的網格,其顯示了從外部文件的話9,但下面的代碼生成此錯誤:類型錯誤而迭代

Traceback (most recent call last): 
    File "C:\Users\Name\Documents\IT Work\New folder\Version 4.py", line 49, in <module> 
    for line in range: 
TypeError: 'builtin_function_or_method' object is not iterable 

代碼:

ay = open('Words.txt','r') 
output_list = ay.read().strip().split('.') 

with open('Words.txt') as f: 
    words = f.read().splitlines() 

for line in (ay): 
     f.append(line.strip()) 

if len(ay) == 10: 
       print(listofwords[0]+' '+listofwords[1]+' '+listofwords[2]) 
       print(listofwords[3]+' '+listofwords[4]+' '+listofwords[5]) 
       print(listofwords[6]+' '+listofwords[7]+' '+listofwords[8]) 

for line in range: 
    print(5) 

如何我可以解決這個錯誤嗎?

+1

你必須指定範圍在有效範圍內的線路: – LetzerWille

+0

您試圖遍歷一個函數的引用,閱讀文檔https://docs.python.org/3.4/library/functions.html#func-range –

回答

1

在Python中,for語句應該使用iterable來調用。 range是一個返回Python 2.x(一種特殊類型的可迭代)列表的函數,您應該傳遞一個數字給它以返回所需的迭代。

只需更改您的代碼類似的東西:

number_of_iterations = 5 

for line in range(number_of_iterations): 
    print(5) 

希望它能幫助,

+1

你是對的@PadraicCunningham ...將在命令中闡明它 – avenet

相關問題