Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬으로 문자열의 대문자와 소문자 개수 세는 방법

파이썬에서 문자열의 대소문자 개수 세기

문자열이 주어졌을 때, 파이썬을 활용하면 대문자와 소문자가 각각 몇 개 포함되어 있는지 손쉽게 확인할 수 있습니다. 예를 들어 다음과 같은 문자열이 있다고 가정해 보겠습니다.

"Hello World"

이 문자열에 대한 카운트 결과는 다음과 같아야 합니다.

Upper case: 2
Lower case: 8

구현 방법

간단한 for 반복문과 두 가지 조건문만으로 대문자와 소문자를 각각 판별하여 개수를 셀 수 있습니다. 문자 하나씩 순회하면서 해당 문자가 영문 대문자 범위('A'~'Z')에 속하는지, 아니면 소문자 범위('a'~'z')에 속하는지 검사하면 됩니다.

예제 코드

def count_upper_and_lower(sentence):
    upper = 0
    lower = 0
    for i in sentence:
        if i >= 'A' and i <= 'Z':
            upper += 1
        elif i >= 'a' and i <= 'z':
            lower += 1
    print("Upper case: " + str(upper))
    print("Lower case: " + str(lower))

count_upper_and_lower("Hello World")

실행 결과

위 코드를 실행하면 다음과 같은 출력이 나타납니다.

Upper case: 2
Lower case: 8

더 간결한 방법: isupper()와 islower() 활용

비교 연산자 대신 파이썬의 내장 문자열 메서드인 isupper()islower()를 사용하면 코드를 더욱 직관적이고 안전하게 작성할 수 있습니다. 이 방법은 유니코드 문자도 올바르게 처리한다는 장점이 있습니다.

def count_upper_and_lower(sentence):
    upper = sum(1 for c in sentence if c.isupper())
    lower = sum(1 for c in sentence if c.islower())
    print("Upper case:", upper)
    print("Lower case:", lower)

count_upper_and_lower("Hello World")

두 방식 모두 동일한 결과를 출력하지만, 실무에서는 isupper()islower() 메서드를 사용하는 것이 가독성과 유지보수 측면에서 더 권장됩니다.