프로그래밍/파이썬(Python)

코드카데미 파이썬(Codecademy Python) 강좌 – 스크래블 게임(scrabble_score)

&+&& 2015. 11. 26. 22:05

  오늘은 코드카데미 파이썬(Codecademy Python) 강좌 해설 8번째 시간입니다. 이번 문제는 반복문 챕터의 [연습이 최고를 만든다]에 8번째 문제 [스크래블 게임(scrabble_score)] 입니다.

  문자열 word를 입력값으로 받아 해당 문자열의 각각의 문자들의 환산값을 계산한 후 모두 더해서 매겨진 점수를 반환하는 문제입니다.


  일단 완성된 코드를 보시면 아래와 같습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
score = {"a"1"c"3"b"3"e"1"d"2"g"2
"f"4"i"1"h"4"k"5"j"8"m"3
"l"1"o"1"n"1"q"10"p"3"s"1
"r"1"u"1"t"1"w"4"v"4"y"4
"x"8"z"10}  # 각 문자별 점수 환산 데이터
 
def scrabble_score(word):  # word를 입력값으로 갖는 scrabble_score 함수 선언
    list_word = list(word) # 주어진 문자열을 리스트화하여 list_word에 저장
    total = 0              # 점수값인 total을 0으로 초기화
    for i in list_word:    # i가 list_word 처음으로 끝까지 순환하는 반복문 시작
        total += score[i.lower()]  # 문자의 점수환산 사전의 환산값을 total에 더함
    return total                   # 계산이 완료된 total값을 반환
    
word = raw_input("Input your text : "# 사용자로부터 word를 입력받음
print scrabble_score(word)             # scrabble_score를 호출하고 결과값을 출력
cs


  - 14열 이하로는 없어도 문제는 패스입니다. scrabble_score가 정상작동하도록 구현된 경우 14열 이하의 테스트 부분은 없어도 됩니다.

  - 14열 : raw_input은 콘솔상에 질의하고자 하는 문자열을 출력하고 사용자 입력값을 반환하는 함수입니다. 이번 문제에서는 스코어를 매길 word 문자열의 값을 입력받습니다.

  - 1-5열 : 문자별 점수를 환산하기 위한 score라는 사전형 데이터가 지정되어 있습니다.

  - 8열 : 사용자 입력 문자열값은 word를 리스트화하여 list_word에 할당합니다.

  - 9열 : 결과값을 계산할 total을 0으로 초기화합니다.

  - 10열 : i가 list_word를 순환하는 동안 반복하는 for문을 설정합니다.

  - 11열 : total에 각 문자별 score 환산값을 더해줍니다.

  - 12열 : 반복문이 끝나고 계산이 완료된 total값을 반환합니다.



  완성된 문제를 실행해 보면 위와 같은 결과값이 출력됩니다.

  입력 문자열 : scrabble -> 결과값 : 14