딕셔니리 함수 과제
과제 : 문자열 형태의 문장을 입력받아 각 단어의 빈도를 딕셔너리 형태로 반환하고, 문장에 포함된 총 단어 수도 함께 출력하는 파이썬 함수 count_words를 작성하세요.
조건:
- 함수는 문자열 형태의 문장을 입력받습니다.
- 문장을 단어 단위로 분리해야 합니다. (구두점이나 특수문자는 제거하지 않아도 됩니다.) 3.함수는 각 단어의 빈도를 딕셔너리 형태로 저장합니다. (예: {“the”: 3, “quick”: 1, “brown”: 1}) 4.함수는 문장에 포함된 총 단어 수를 계산합니다. 5.함수는 단어 빈도 딕셔너리와 총 단어 수를 모두 반환합니다. 6.input() 함수를 사용하여 사용자로부터 문장을 입력받습니다. 7.최종 결과는 문제에서 제시된 출력 예시와 동일해야 합니다.
출력 예시(영문, 한글 문장 모두 가능): 문장을 입력하세요: the quick brown fox jumps over the lazy dog the {‘the’: 3, ‘quick’: 1, ‘brown’: 1, ‘fox’: 1, ‘jumps’: 1, ‘over’: 1, ‘lazy’: 1, ‘dog’: 1} 총 단어 수: 9
- find()함수를 활용하고 싶어 구글링해서 collections에 Counter이란 모듈이 있어 딕셔너리를 사용 안하고 모듈을 사용해 과제를 빨리 제출하게 된 과제입니다
from collections import Counter
sentence = input("문장을 입력하세요")
words = sentence.split()
frequency = Counter(words)
print(dict(frequency))
print(f"총 단어 개수:",len(frequency))출력 결과
문장을 입력하세요나는 오늘 집에서 책을 읽다가 책의 내용이 어려워서 집에서 나와 밖으로 갔다.
{'나는': 1, '오늘': 1, '집에서': 2, '책을': 1, '읽다가': 1, '책의': 1, '내용이': 1, '어려워서': 1, '나와': 1, '밖으로': 1, '갔다.': 1}
총 단어 개수: 11