27.5 연습문제: 파일에서 10자 이하인 단어 개수 세기

단어가 줄 단위로 저장된 words.txt 파일이 주어집니다. 다음 소스 코드를 완성하여 10자 이하인 단어의 개수가 출력되게 만드세요.

words.txt

anonymously
compatibility
dashboard
experience
photography
spotlight
warehouse

practice_file.py

                                  
    count = 0
                           
    ...
                            
    print(count)

실행 결과

4

정답

 with open('words.txt', 'r') as file:

words = file.readlines()
for word in words:
    if len(word.strip('\n')) <= 10:
        count += 1

해설

words.txt 파일이 주어진다고 했으므로 with open('words.txt', 'r') as file:과 같이 파일을 읽기 모드 'r'로 엽니다. 그리고 단어가 줄 단위로 저장되어 있다고 했으므로 readlines로 파일의 내용을 읽어서 리스트 형태로 가져옵니다.

단어가 10자 이하인지 판단할 때는 for 반복문으로 단어 리스트를 반복하면서 len으로 단어 길이를 구합니다. 단, readlines로 파일을 읽었을 때는 문자열에 \n이 들어있으므로 strip('\n')으로 \n을 삭제해야 합니다. 그다음에 단어 길이가 10 이하이면 count에 1을 더해서 저장해주면 됩니다.