2010-03-26 3 views
0

파이썬 3, 작동 :내가 터미널에 다음 코드를 입력 할 수있는 범위 기능

for i in range(5): 
    print(i) 

그리고 그것은 인쇄 할 수는 :

0 
1 
2 
3 
4 

예상대로.

print(current_chunk.data) 
read_chunk(file, current_chunk) 
numVerts, numFaces, numEdges = current_chunk.data 
print(current_chunk.data) 
print(numVerts) 

for vertex in range(numVerts): 
    print("Hello World") 

current_chunk.data는 다음의 방법에서 얻어진다 :

def read_chunk(file, chunk): 
    line = file.readline() 
    while line.startswith('#'): 
     line = file.readline() 
    chunk.data = line.split() 

이의 출력은 다음과 같습니다

['OFF'] 
['490', '518', '0'] 
490 
Traceback (most recent call last): 
    File "/home/leif/src/install/linux2/.blender/scripts/io/import_scene_off.py", line 88, in execute 
    load_off(self.properties.path, context) 
    File "/home/leif/src/install/linux2/.blender/scripts/io/import_scene_off.py", line 68, in load_off 
    for vertex in range(numVerts): 
TypeError: 'str' object cannot be interpreted as an integer 
그러나, 나는 비슷한 일을하는 스크립트를 작성하려

그래서 왜 Hello World가 490 번 튀어 나오지 않는 걸까요? 아니면 490이 문자열로 생각되고 있습니까?

def load_off(filename, context): 
    file = open(filename, 'r') 

답변

2

'490'은 문자열입니다

는이 같은 파일을 열었습니다. 시도하십시오 int('490').

0

한숨, 신경 쓰지 마세요. for 루프를

for vertex in range(int(numVerts)): 
    print("Hello World") 

으로 변경했습니다.