문자열에 포함된 소문자의 개수를 세어야 하는 경우, 문자열을 한 글자씩 순회하면서 각 문자가 소문자인지 확인하고, 소문자일 때마다 카운터 값을 증가시키는 방식으로 간단하게 구현할 수 있습니다.
아래 예제를 통해 실제 동작 과정을 살펴보겠습니다.
예제 코드
my_string = "Hi there how are you"
print("The string is :")
print(my_string)
my_counter = 0
for i in my_string:
if(i.islower()):
my_counter = my_counter + 1
print("The number of lowercase characters are :")
print(my_counter)실행 결과
The string is : Hi there how are you The number of lowercase characters are : 15
코드 설명
- 먼저 문자열을 정의하고 콘솔에 출력합니다.
- 소문자 개수를 저장할 카운터 변수를 0으로 초기화합니다.
for문을 사용해 문자열을 한 글자씩 순회합니다.islower()메서드로 현재 문자가 소문자인지 검사합니다.- 소문자라면 카운터를 1씩 증가시킵니다.
- 모든 문자를 검사한 뒤, 최종 결과를 콘솔에 출력합니다.
더 간결하게 작성하는 방법
위 코드는 파이썬의 제너레이터 표현식과 sum() 함수를 활용하면 단 한 줄로도 구현할 수 있습니다.
my_string = "Hi there how are you" count = sum(1 for ch in my_string if ch.islower()) print(count) # 결과: 15
이처럼 islower() 메서드만 잘 활용하면 별도의 외부 라이브러리 없이도 문자열 내 소문자 개수를 손쉽게 계산할 수 있습니다.