더북(TheBook)

배열의 기본 응용 이제 배열의 활용법과 재미있는 여러 응용 기법들을 살펴보자.

카드 게임 표현 카드 게임 프로그램을 만든다고 생각해보자. 일단 다음과 같은 코드로 시작할 것이다.

SUITS = ['Clubs', 'Diamonds', 'Hearts', 'Spades']
RANKS = ['2', '3', '4', '5', '6', '7', '8', '9', '10',
         'Jack', 'Queen', 'King', 'Ace']

이 두 배열을 이용하면 클로버 퀸(Queen of Clubs)과 같은 카드를 다음과 같이 만들 수 있다.

rank = random.randrange(0, len(RANKS))
suit = random.randrange(0, len(SUITS))
stdio.writeln(RANKS[rank] + ' of ' + SUITS[suit])

카드 게임을 만들 때는 값을 계산해 배열에 저장하는 것이 보통이다. 예를 들어 앞에서 만든 두 배열과 다음 코드를 이용해 카드 한 벌을 나타내는 길이 52인 배열을 초기화할 수 있다.

deck = []
for rank in RANKS:
   for suit in SUITS:
       card = rank + ' of ' + suit
       deck += [card]
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.