오늘은 코드카데미 파이썬(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
'프로그래밍 > 파이썬(Python)' 카테고리의 다른 글
코드카데미 과정별 한글 영문 페이지 링크 (0) | 2015.11.30 |
---|---|
코드카데미 파이썬(Codecademy Python) 강좌 – 문자열 검열(censor) (0) | 2015.11.30 |
코드카데미 파이썬(codecademy Python) 과정 완료 (0) | 2015.11.23 |
코드카데미 파이썬(Codecademy Python) 강좌 – 자음 걸러내기(anti_vowel) (0) | 2015.11.22 |
코드카데미 파이썬(Codecademy Python) 강좌 - 문자열 뒤집기(reverse) (0) | 2015.11.20 |