2017-03-01 1 views
0

그리드를 생성하는 프로그램을 만들고 프로그램에서 은 입력에서 할당하는 매트릭스 배열로 위치를 찾습니다.파이썬 for 루프에서 값을 할당하는 매트릭스

번호 :

def onbekende_naam(hoogtes): 
    print(hoogtes) 
    i = 0 
    j = 0 
    pos1 = set() 

    for hoogtes_subs in hoogtes: 
     j = 0 
     for hoogtes in hoogtes: 
      print("i = " + str(i)) 
      print("j = " + str(j)) 
      pos1.add((i, j)) 
      print pos1 
      j += 1 
     i += 1 
     #pos1.add((i, j)) 

    return pos1 

#verwerking 
print (onbekende_naam(hoogtes)) 

입력 :

4 4 
1 2 3 4 
5 6 7 8 
9 1 2 3 
4 5 6 7 
12 1 

출력 :

[['1', '2', '3', '4'], ['5', '6', '7', '8'], ['9', '1', '2', '3'], ['4', '5', '6', '7']] 
i = 0 
j = 0 
set([(0, 0)]) 
i = 0 
j = 1 
set([(0, 1), (0, 0)]) 
i = 0 
j = 2 
set([(0, 1), (0, 0), (0, 2)]) 
i = 0 
j = 3 
set([(0, 1), (0, 3), (0, 0), (0, 2)]) 
i = 1 
j = 0 
set([(0, 1), (0, 3), (0, 0), (0, 2), (1, 0)]) 
i = 1 
j = 1 
set([(0, 1), (0, 0), (0, 2), (1, 0), (0, 3), (1, 1)]) 
i = 1 
j = 2 
set([(0, 1), (1, 2), (0, 0), (0, 2), (1, 0), (0, 3), (1, 1)]) 
i = 1 
j = 3 
set([(0, 1), (1, 2), (0, 0), (0, 2), (1, 3), (1, 0), (0, 3), (1, 1)]) 
i = 2 
j = 0 
set([(0, 1), (1, 2), (0, 0), (0, 2), (2, 0), (1, 3), (1, 0), (0, 3), (1, 1)]) 
i = 3 
j = 0 
set([(0, 1), (1, 2), (0, 0), (3, 0), (0, 2), (2, 0), (1, 3), (1, 0), (0, 3), (1, 1)]) 
set([(0, 1), (1, 2), (0, 0), (3, 0), (0, 2), (2, 0), (1, 3), (1, 0), (0, 3), (1, 1)]) 

경우는 I 값보다 큰 2

때 J를 증가 정지 볼 수 있듯이

전 꽤 새로 왔습니다. 이걸 도와 줘서 고마워.

+0

질문에 _as 형식의 텍스트 _를 입력하고 [mcve]인지 확인하십시오. – ForceBru

+0

Ha, kan je je code normaal copy pasten? – rmeertens

답변

0

두 번째 for 루프에서 같은 이름을 사용하는 것처럼 보입니다. 이걸 바꾸면해볼 수 있니?

def onbekende_naam(hoogtes): 
    print(hoogtes) 
    i = 0 
    j = 0 
    pos1 = set() 

    for hoogtes_subs in hoogtes: 
     j = 0 
     for another_name_hoogtes in hoogtes: 
      print("i = " + str(i)) 
      print("j = " + str(j)) 
      pos1.add((i, j)) 
      print pos1 
      j += 1 
     i += 1 
     #pos1.add((i, j)) 

    return pos1 

#verwerking 
print (onbekende_naam(hoogtes)) 

또한 :

TypeError: 'int' object is not iterable

왜이 오류가 발생하지 않았다 : 나는 원래 코드를 실행할 때 다음과 같은 오류가?

+0

내 편집 좀 봐. 배열의 값조차 사용하지 않습니다. 어쨌든 : 중복 된 변수 이름을 나중에 사용하지 마십시오;) – rmeertens

+0

정말 고마워요. 이 오류가 발생하여 해결되었습니다. 이번에는 이번에는 전혀 눈치 채지 못했습니다. (내 첫 번째 의견에 내 혼란이 어디에서 왔는지 원본이 아닌 코드를보고있었습니다.) – learningjoe

+0

좋아요. 프로젝트에 행운을 빈다. – rmeertens

관련 문제