python 텍스트 파일에서 모든 알파벳 개수세기
조회수 7119회
텍스트 파일의 모든 알파벳의 개수 세기
fname=input('Enter a filename:')
fhand=open(fname)
char=list(fhand)
for w in ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']:
print(char.count(w))
텍스트 파일 내용 : hello, Jenny
다 0으로 나오는데 뭐가 잘못된 건가요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
단순히 파일에서 알파벳을 새는 방법은 더 쉬운 방법이 있습니다만 질문에 충실해서 답변을 답니다.
char=list(fhand)
에서 char 는 라인들이 저장됩니다.
예를들어 파일의 내용이 아래와 같을때
abcd efgh ijkl
char 은 ['abcd\n', 'efgh\n', 'ijkl\n'] 이 됩니다.
당연히 abcd 와 알파벳을 비교하므로 맞는 경우가 없게 됩니다.
char[0].count('a') # 1개
와 같이 해야 합니다.
학생인 것 같은데...프로그래밍에서 문자열 이라는 단위는 없는 겁니다.
문자의 선형집합(끝은 널\0)이 문자열입니다.
자 그리고...
a~z까지 list를 만드는 방법은 일일이 적기 보다는
import string [c for c in string.ascii_lowercase]
혹은
[chr(i) for i in range(ord('a'), ord('z') + 1)]
와 같이 만들어 줄 수 있습니다.
댓글 입력