2017-02-26 1 views
-1

안녕하세요 내가 처음보기에 기능이 필요합니다 (튜플에 의해 지정된 위치) 특정 장소중첩 된 목록/튜플

#w=width 
#h=height 
#m=location to move(x,y) 
location=[] 

def grid(w,h,m) 
    for i in range(h): 
     new_grid = [] 
     location.append(new_grid) 
     for j in range(w): 
      if (i, j) == m: 
       new_grid.append('(a)') 
      else:  
       new_grid.append('(_)') 

에 중첩 된 목록에서 요소의 위치를 ​​이동하는 코드를 작성했습니다 예를 들어 (1,3)에 대한 x 좌표는 먼저 두 번째 행으로 이동 한 다음 3 아래로 이동합니다. 필자가 작성한 함수는 x 좌표로 주어진 내부 목록 만 봅니다. 또한이 기능은 어떤 도움이 감사

+0

당신은 무엇을 두 번째 행으로 이동 '을 의미하는 다음 down'합니까? 그것은 4 개의 장소를 아래로 (행 방향으로) 움직이는 것을 의미합니까? –

+0

기본적으로 (0,0)에서 시작한 다음 (1,3) 오른쪽으로 한 번 이동 한 다음 3 번 아래로 이동하고 네 번 행으로 이동하면 4가됩니다 – Patrick

+0

왜 'y'좌표가 보이지 않는가? -> 많은 행을 내려 가서 ->'x' 좌표를 봅니다 -> 바로 그 행을 많이 읽습니까? –

답변

1

왜 다음과 같은 라인을 따라 간단하지 감사

변수의 위치를 ​​바로 반환 변경 안? 하나의 셀을 두 번 채우지 만 훨씬 더 읽기 쉽습니다. 당신은 할당하여 global 변수를 변경하려는 경우, 당신은 함수 등을 선언해야합니다 :

location = [] 

def grid(w, h, m): 
    global location 
    location = [w * ['(_)'] for i in range(h)] 
    location[m[1]][m[0]] = '(a)' 

> grid(2, 4, (1, 3)) 
print(location) 
[['(_)', '(_)'], ['(_)', '(_)'], ['(_)', '(_)'], ['(_)', '(a)']] 
> grid(2, 4, (0, 2)) 
print(location) 
[['(_)', '(_)'], ['(_)', '(_)'], ['(a)', '(_)'], ['(_)', '(_)']] 
+0

그냥 (a) 이외에 이동하는 다른 요소를 추가하려면 어떻게해야할까요? 코드가 어디에 추가 될지 등 – Patrick

+0

예. – schwobaseggl

+0

실제로 위치 변수를 변경하는 것이 아무것도 반환하지 않는다는 것을 깨달았습니다. – Patrick

관련 문제