-1
Python 온라인 학습을 시작했습니다. 아래의 List 및 for 루프를 사용하여 함수 입력에서 노드와 모서리 수를 계산하는 다음 프로그램을 작성했습니다. 노드와 에지를 생성하는 간단한 규칙은 http://mathworld.wolfram.com/GridGraph.html입니다. while과 array와 for list와 for list를 사용하여 파이썬에서 같은 프로그램을 만들 수 있습니까? 이걸 제게 가르쳐 주시겠습니까?루프를 while 루프로 변환하고 목록 이해력을 목록 없음으로 변환
def gridGen(a,b):
return [
[(x,y) for y in range(0,a)]
for x in range(0,b)
]
def edgeListGen(grid):
edgeList = []
for y, row in enumerate(grid):
for x, val in enumerate(row):
if (x < len(row)-1):
edgeList.append(((x,y),(x+1,y)))
if (y < len(grid)-1):
edgeList.append(((x,y),(x,y+1)))
return edgeList
def printGrid(grid):
for line in grid:
for value in line:
print(value, end=' ')
print()
print()
def printEdgeList(L):
for edge in edgeList:
print(edge[0], ',', edge[1])
grid=gridGen(5,2)
printGrid(grid)
edgeList=edgeListGen(grid)
printEdgeList(edgeList)
출력 :
(0, 0) (0, 1) (0, 2) (0, 3) (0, 4)
(1, 0) (1, 1) (1, 2) (1, 3) (1, 4)
(0, 0) , (1, 0)
(0, 0) , (0, 1)
(1, 0) , (2, 0)
(1, 0) , (1, 1)
(2, 0) , (3, 0)
(2, 0) , (2, 1)
(3, 0) , (4, 0)
(3, 0) , (3, 1)
(4, 0) , (4, 1)
(0, 1) , (1, 1)
(1, 1) , (2, 1)
(2, 1) , (3, 1)
(3, 1) , (4, 1)
예. 것이 가능하다. –
@ juanpa.arrivillaga 바닐라 파이썬에 배열이 없기 때문에 불가능합니다 :) –
목록의 이해가'for' 루프로 단순화되었고'while' 루프로 변환 할 수 있습니다 [this] (https://stackoverflow.com/a/) 18900662/4249707) way –