2013-05-15 3 views
0

사용자가 배열을 5 번 입력하고 [i]에서 1부터 5까지 각각 저장할 때 python으로 루프를 만들려고하지만 코드에서 ' t work.Here 내 코드입니다 :for 루프를 사용하여 사용자 입력에서 목록 만들기

import numpy 
from numpy import linalg 
import numpy as np 
for i in range(5): 
    u[i]=np.array(input(" ")) 
    print u[i] 
+4

첫째, 불필요한 첫 두 줄을 제거 ... –

+0

처럼 @TimPietzcker는 당신이 그 두 줄을 제거해야했다 : 그들도 단지 superflous,하지만 그들은 네임 스페이스를 혼란. – Livius

답변

3

첫째, 당신은 u이 목록 될 것입니다 것을 파이썬을 알려야합니다. 그렇지 않은 경우 u에 액세스하려고하므로 이 표시됩니다.

그런 다음 동적으로 목록을 확장해야합니다. 그렇지 않으면 u[i]을 생성하기 전에 참조하려고하기 때문에 u[i]IndexError을 던집니다.

import numpy as np 
u = [] 
for i in range(5): 
    u.append(np.array(input(" "))) 
    print u[i] 
+0

'print u [i]'는 코드의 일부가 아닐 것입니다 (디버깅 중이라고 추측합니다). – jamylak

+2

@jamylak : 어쩌면 확신 할 수없는 사람을 위해 너무 진보 된 구조 일 것입니다. 기본적인 파이썬 개념 이해. –

관련 문제