Page 18 -
P. 18

1
               여러분은 아이들과 스크래블(Scrabble) 을 단순화한 게임을 플레이하는 중이다. 지금까지는 아이
               들이 계속 이겨왔는데, 그 이유가 여러분에게 주어진 타일로 가장 좋은 단어를 만들지 않았기 때
               문임을 깨달았다. 그래서 컴퓨터 프로그램의 도움을 약간 받기로 했다.





               프로젝트 문제


               주어진 타일로 만들 수 있는 단어들을 알려주는 프로그램을 작성하라. 이때 추천 가능한 단어는
               정상적인 영어 단어여야 한다(이 게임에서는 예술과 관련 있는 단어만 선택할 수 있다. 그래서 이
               름도 ‘스크래블:아트’이다). 주어진 타일로 최선의 단어를 만들기 위해 기억해야 할 규칙은 다음과
               같다.

               예술과 관련한 모든 단어는 문자열로 주어지며, 각 단어는 새줄 문자로 구분된다. 그 입력 문자열
               에는 짧은 순서대로 단어가 들어 있다. 각 단어는 영어 알파벳에 속한 문자만 들어 있다(공백, 하

               이픈(-), 기호 등은 들어 있지 않다). 이런 입력의 예를 하나 들면 다음과 같다. 여기서 문자열을
               열고 닫을 때 큰 따옴표를 3개 연속으로 사용했는데, 이렇게 만든 문자열을 긴문자열(long string)
               이나 여러줄문자열(multiline string)이라 부른다. 일반 문자열은 중간에서 줄을 바꾸면 안되지만, 긴
               문자열의 경우 문자열을 큰 따옴표 3개로 닫지 않고 줄을 바꿔도 된다. 여러줄문자열은 줄 바꿈을

               문자열에 포함시킬 수 있다는 부분을 제외하면 다른 일반 문자열과 똑같다. 한편 큰 따옴표 3개
               (예: """긴문자열""")대신 작은 따옴표 3개로 문자열을 열고 닫아도 된다(예: '''긴문자열''').

                 """art
                 hue
                 ink
                 oil
                 pen
                 wax
                 clay
                 draw
                 film
                 ...
                 crosshatching
                 """






               1    역주  알파벳이 새겨진 타일을 가로나 세로로 늘어 놓아 단어를 만들어 점수를 얻는 보드 게임

         230





     모던 파이썬 입문(본문)5차_최종.indd   230                                                           2019-09-26   오후 9:33:41
   13   14   15   16   17   18   19   20   21   22   23