4장 연습 문제 9번, 10번

이번 문제는 주어진 문자열에서 대문자를 소문자로 바꾸고, 문자 ',' 와 '.'를 없앤 후 단어를 순서대로 출력하는 문제이다.

10번은 추가로 각 단어의 개수도 출력하라고 했다.

9번 문제에서 쓴 방법은 그냥 주어진 문자열의 문자 ',' 와 '.' 를 replace 로 제거 해버렸다. 그런 다음 공백 분리 해서 리스트로 출력 했다.
# -*- coding: cp949 -*-
s = 'We propose to start by making it possible to teach programming in Python,\
an existing scripting languange, and to focus on creating a new development\
environment and teaching materials for it.'

print s, '가 주어짐\n'

s = s.lower()

print '소문자 변환 : ', s, '\n'

a = s.replace(',', '').replace('.', '').split()

for k in range(len(a)) :
   print a[k]

10번 문제에서는 리스트에 저장된 문자열들을 비교해가면서 카운트 값을 늘리고 그 값을 다른 리스트에 저장해서 출력 했다.

9번 문제에서는 출력되는 단어의 중복을 허용 했지만, 10번 문제에서는 중복을 허용 하지 않았다.
# -*- coding: cp949 -*-
s = 'We propose to start by making it possible to teach programming in Python,\
an existing scripting languange, and to focus on creating a new development\
environment and teaching materials for it.'

print s, '가 주어짐\n'

s = s.lower()

print '소문자 변환 : ', s, '\n'

a = s.replace(',', '').replace('.', '').split()
countlist = []
word = []

for k in range(len(a)) :
   if a[k] in word == True :
       continue
   else :
       count = 0
       for i in range(len(a)) :
           if a[i] == a[k] :
               count+=1
       word.append(a[k])
       countlist.append(count)

for k in range(len(word)) :
   print word[k], ':', countlist[k], '개'

댓글 없음:

댓글 쓰기