728x90
반응형
(문제)
임의의 지뢰를 생성해 주어야 하는데 randint를 사용해 0부터 8까지의 범위로 임의의 위치를 생성해준다.
x가 0부터 8까지, y가 0부터 8까지 2차원 리스트 같은 element(cell)에 겹치지 않도록 해 주어야 한다.
따라서 처음 모든 좌표를 false로 지정하고, 지뢰를 생성한다면 true로 바꿔주고, true인 경우를 피해서 다른 위치에 지뢰를 또 랜덤하게 생성해주도록 한다.
위의 말대로 지뢰찾기 게임에서 지뢰를 저장하는데 2차원 배열을 사용합니다. 처음 모든 좌표가 false에서 지뢰를 랜덤으로 생성할 때마다 true로 바꾼 후 다시 생성하려고 하는 코드를 작성
(방법)
# 지뢰
import random
lst = [[-1]*8 for i in range(8)] # 8 x 8 배열
for i in range(3): # 3개의 지뢰
while True: # 설치가능한 x, y 찾기
x = random.randint(0,7) # random 위치
y = random.randint(0,7)
print(x, y)
if lst[x][y] != 8: # 해당 위치에 설치가 되어 있지 않다면 해당 x, y 사용 가능
break
lst[x][y] = 8 # 해당 위치에 설치
728x90
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 문제 : 호텔 예약 (0) | 2023.02.20 |
---|---|
[파이썬] 문제 : True, False의 and, or, not (0) | 2023.02.20 |
[파이썬] 문제 : input, while로 0을 입력할 때까지 반복 입력 받기 (0) | 2023.02.20 |
[파이썬] 문제 : 학생정보 입력 받고 출력하기 (0) | 2023.02.20 |
[파이썬] 문제 : 주사위 던져서 1 이 나올 확률 (0) | 2023.02.20 |
댓글