파이썬에서 문자열에 포함된 단어 수와 문자 수를 계산해야 하는 경우가 자주 있습니다. 텍스트 분석, 입력값 검증 등 다양한 상황에서 유용하게 활용될 수 있습니다. 아래는 반복문을 사용하여 이를 구현한 기본적인 방법입니다.
예제 코드
my_string = "Hi there, how are you Will ? "
print("The string is :")
print(my_string)
my_chars=0
my_words=1
for i in my_string:
my_chars=my_chars+1
if(i==' '):
my_words=my_words+1
print("The number of words in the string are :")
print(my_words)
print("The number of characters in the string are :")
print(my_chars)실행 결과
The string is : Hi there, how are you Will ? The number of words in the string are : 8 The number of characters in the string are : 29
코드 설명
먼저 하나의 문자열을 정의하고, 콘솔에 출력합니다.
문자 수를 저장할 변수는
0으로 초기화합니다.단어 수는 공백 개수보다 항상 하나 많으므로
1로 초기화합니다.문자열을 한 글자씩 순회하면서 문자 수 변수를 1씩 증가시킵니다.
순회 중 공백 문자를 만나면 단어 수 변수도 함께 증가시킵니다.
최종적으로 계산된 단어 수와 문자 수를 콘솔에 출력합니다.
더 간단한 대안: split()과 len() 활용하기
위 방법 외에도 파이썬의 내장 함수를 활용하면 훨씬 간결하게 작성할 수 있습니다.
my_string = "Hi there, how are you Will ? "
word_count = len(my_string.split())
char_count = len(my_string)
print("단어 수 :", word_count)
print("문자 수 :", char_count)split()은 문자열을 공백을 기준으로 나누어 리스트로 반환하므로, 리스트의 길이를 구하면 곧 단어 수가 됩니다. 연속된 공백이 있어도 올바르게 처리한다는 장점이 있습니다.len()함수는 문자열 전체 길이(공백 포함)를 반환하므로 문자 수를 바로 구할 수 있습니다.
두 방법 모두 결과는 동일하지만, 내장 함수를 사용하는 방식이 코드가 짧고 가독성이 좋아 실무에서 더 널리 권장됩니다.