728x90
반응형

# 입력 받은 문장
data = 'It Was The Best Of Times It Was The Worst Of Times'
# 단어로 나눔
data2 = data.split(' ')
data2 = [w.lower() for w in data2] # 소문자 변경
data2.sort() # 오름차순 정렬
# 단어사전에서 단어 찾고 빈도수 증가 함수
def search_word(w_list, w):
if len(w_list) == 0:
w_list.append([w, 1]) # 신규 단어이기 때문에 추가, 빈두수=1
else:
find_flag = 0
for i in range(len(w_list)):
if w_list[i][0] == w: # w_list 첫번째는 단어, 두번째는 빈도수
w_list[i][1] += 1
find_flag = 1
break
if find_flag == 0:
w_list.append([w, 1]) # 신규 단어이기 때문에 추가, 빈두수=1
return w_list
# 단어별 count
word_dic = [] # [단어,count] 저장 리스트
for i in range(len(data2)):
w = data2[i]
word_dic = search_word(word_dic, w)
for w in word_dic:
print('(',w[0],',',w[1],')')
결과
( best , 1 )
( it , 2 )
( of , 2 )
( the , 2 )
( times , 2 )
( was , 2 )
( worst , 1 )728x90
반응형
'프로그램' 카테고리의 다른 글
| [파이썬] 문제 : pandas 문자열 바꾸기 (0) | 2022.11.21 |
|---|---|
| [파이썬] 문제 : 1~12월의 계절 출력 (0) | 2022.11.21 |
| [파이썬] 문제 : UI 입력 받기(PyQt5) (0) | 2022.11.21 |
| [파이썬] 문제 : UI 버튼(PyQt5) (0) | 2022.11.21 |
| [파이썬] 문제 : 이중 while True문 (0) | 2022.11.21 |
댓글