2015-10-18 102 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

相关问题