유전자 알고리즘을 사용하여 NNS를 테스트하는 간단한 미로 게임을 만들려고합니다. 각 테스트의 미로는 장벽, 시작점, 끝점, 플레이어의 현재 위치와 같은 x, y 지점을 보유하기 위해 행렬을 사용합니다. 가장 중요한 것은 내가 올바른 위치에 올바른 문자를 배치하여 1-25 행의 문자열을 읽을 때 (아마도 for 루프를 사용하여)지도의 레이아웃을 읽을 수 있기 때문입니다. 제 문자열 |XoooX|
, 제 |ooooo|
문자열, 문자열 |ooooo|
셋째, 넷째 문자열 |ooXoo|
:는 "O"가 공백 인 경우 예를 들어, 배리어는 같을 것이다 1,1 3,4 1,5 포인트. 아이디어가 있으십니까? 미리 감사드립니다!x, y 좌표 행렬을 사용하여 파이썬에서 문자열에 문자가 나타나는 위치를 선택하는 방법은 무엇입니까?
-1
A
답변
0
당신은 아마이의 라인을 따라 뭔가를 찾고 : 우리가 쉽게 한 번에 하나씩 각 행을 구성 할 수 있습니다 지능형리스트를 사용
width = 6
height = 6
coords = [(1,1),(3,4),(1,5)]
print('\n'.join(['|' + ''.join(['x' if (x,y) in coords else 'o' for x in range(width)]) + '|' for y in range(height)]))
: 기본적으로
''.join(['x' if (x,y) in coords else 'o' for x in range(width)])
, 인쇄 좌표에 무언가가 포함되어 있으면 x
, 그렇지 않으면 o
을 사용하십시오.
'|' + ''.join([...]) + '|'
''.join()
이에 대한 very useful function입니다.
그런 다음 각 행마다 줄 바꿈을 삽입하여 각 행마다이 작업을 반복하면됩니다.
'\n'.join([...])
+0
이것은 정확히 내가 필요한 것입니다! 감사! – roger
어떤 부분에서 문제가 있습니까? – zvone
나는 x를 올바른 자리에 그리고/또는 오른쪽 문자열에 넣는 방법을 모른다. y를 사용하여 문자열을 선택하고 문자열 연결을 사용하여 문자열의 올바른 위치에 놓아야 만 할 수 있습니다. 그러나이 작업을 수행하는 방법이나 행렬을 가져 오는 방법을 모릅니다. 장벽 매트릭스 내에서. – roger
당신이 시도한 것을 보여주십시오. 원본 질문에 코드 예제를 입력하십시오. –