티스토리 뷰
반응형
개발사항
- 파일명은 사용자로부터 입력 받는다.
- 사용자 입력값이 없으면 기본 파일(clown.txt) 를 오픈한다.
- 딕셔너리를 이용하여 오픈한 파일에 존재하는 단어와 단어 각각의 빈도수를 저장한다.
- 가장 빈도수가 높은 단어와 빈도수를 출력한다.
# 파일명을 사용자로부터 입력받는다
# 입력값이 없다면 기본파일(clown.txt)을 오픈한다.
fname = input("Enter file name : ")
if len(fname) < 1 :
fname = "clown.txt"
hand = open(fname)
di = dict()
for line in hand :
line = line.rstrip()
wds = line.split()
# 각 단어를 key 로 갖는 딕셔너리를 생성한다.
# 딕셔너리에 단어(key)가 존재하면 매핑되는 value 값을 리턴하고
# 리턴된 value 값에 1을 더하여 카운팅한다.
# 만약 단어(key)가 존재하지 않으면 기본값인 0 이 리턴되고
# 리턴된 0 에 1을 더하여 카운팅 한다.
for w in wds :
di[w] = di.get(w, 0) + 1
# 아래의 코드 네 줄이 위의 한 줄과 동일한 의미이다.
"""
if w in di :
di[w] = di[w] + 1
else :
di[w] = 1
"""
# 빈도수가 가장 높은 단어를 찾는 부분
# di.items() 를 이용하여 key, value 쌍을 얻어서
# k 와 v 변수가 각각 대입하고
# v 가 가장 큰 (빈도수가 가장 높은) 단어를 theword 에 대입한다.
largest = -1
theword = None
for k, v in di.items() :
print(k, v)
if v > largest :
largest = v
theword = k
print("Done", theword, largest)
** clown.txt 파일 내용 **
the clown ran after the car and the car ran into the tent and the tent fell down on the clown and the car
END
반응형
'IT > Python' 카테고리의 다른 글
[Python] 정규식 (Regular Expression) (0) | 2020.11.03 |
---|---|
[Python] 튜플을 이용한 딕셔너리 정렬 (0) | 2020.10.13 |
[Python] 문자열, 파일, 리스트, 가디언패턴 (0) | 2020.10.06 |
[Python] 파일 열고 읽기 (0) | 2020.10.06 |
[Python] 문자열 파싱 (0) | 2020.10.06 |
댓글
공지사항