2016-06-22 1 views
0

텍스트 파일의 단어 및 문자 수를 계산하는 프로그램을 작성 중입니다. 또한 프로그램은 각 문자가 파일에 사용 된 횟수를 표시해야합니다. 단어와 문자를 세는 데 필요한 코드를 포함 시켰습니다. 카운트 또는 dict 함수를 사용하지 않고 문자 빈도를 표시하는 가장 좋은 방법을 찾는 데 도움이 필요합니다.내장 된 dict 데이터 구조를 사용하지 않고 텍스트 파일의 문자 빈도 계산 Python의 OR 계수 함수

f=open ("C:\\Users\\Adam\\Documents\\romeo.txt",'r') 

num_lines = 0 
num_words = 0 
num_char = 0 


with open("C:\\Users\\Adam\\Documents\\romeo.txt", 'r') as f: 
    for line in f: 
     words = line.split() 


     num_lines += 1 
     num_words += len(words) 
     num_char+= sum(len(x) for x in line.split()) 
+0

문제는 무엇입니까? 코드가 작동합니까? – Tim

+0

다소 주관적인 "최상의"방법을 찾으려면 적어도 방법을 찾으십시오. 그리고 작동하지 않는다면 공유하고 이유를 알 수 없습니다. 여기에 어떤 시도도 보이지 않습니다 ... – Julien

+0

초기 f = 열기 (....)가 필요하지 않으며 들여 쓰기가 잘못되었습니다. 이것도 실행됩니까? –

답변

0

코드는 약간 조정해야합니다. 이 시도 :

number_of_lines = 0 
number_of_words = 0 
number_of_chars = 0 

with open(r'myfile.txt', 'r') as f: 
    for line in f: 
     number_of_lines += 1 
     word_list = line.split() 
     number_of_words += len(word_list) 
     number_of_chars += sum(len(x) for x in word_list) 
0

사용하는 대신에이 코드

f=open() 
num_lines = 0 
num_words = 0 
num_char = 0s 

while str: 
    str=f.readline() 
    words=str.split() 
    num_words+=len(words) 
    num_lines+=1 
    for a in words: 
     num_char+=len(a) 
f.close()