Python 에서 문자열이 대문자인지 확인하는 방법

PythonBeginner
지금 연습하기

소개

이 랩에서는 Python 을 사용하여 문자열이 모두 대문자인지 확인하는 방법을 배우게 됩니다. 랩은 대문자 문자열을 탐구하고 다양한 문자열 예제를 실험하기 위한 Python 파일을 생성하는 것으로 시작합니다. 그런 다음, 내장 문자열 메서드인 isupper() 메서드를 사용하여 문자열의 모든 문자가 대문자인지 확인합니다.

마지막으로, 이 랩에서는 문자열에 숫자나 공백이 포함된 경우에도 정확한 결과를 얻을 수 있도록 대문자 문자열을 확인할 때 문자 이외의 문자를 처리하는 방법을 안내합니다. 여기에는 문자열을 반복하고 각 문자를 개별적으로 확인하도록 코드를 수정하는 작업이 포함됩니다.

대문자 문자열 탐색

이 단계에서는 Python 에서 대문자 문자열에 대해 배우고 이를 식별하는 방법을 배우게 됩니다. 대문자 문자열을 사용하는 방법을 이해하는 것은 데이터 유효성 검사, 텍스트 정규화 및 명령 처리와 같은 작업에 필수적입니다.

문자열을 실험하기 위해 Python 파일을 생성하는 것으로 시작해 보겠습니다.

  1. LabEx 환경에서 VS Code 편집기를 엽니다.

  2. ~/project 디렉토리에 uppercase_strings.py라는 새 파일을 생성합니다.

    VS Code 메뉴에서 "File" -> "New File"을 클릭한 다음 ~/project 디렉토리에 uppercase_strings.py로 저장하여 새 파일을 생성할 수 있습니다.

  3. 다음 Python 코드를 uppercase_strings.py 파일에 추가합니다.

## Example strings
string1 = "HELLO"
string2 = "Hello"
string3 = "123HELLO"
string4 = "HELLO WORLD"

## Print the strings
print(f"String 1: {string1}")
print(f"String 2: {string2}")
print(f"String 3: {string3}")
print(f"String 4: {string4}")

이 코드는 string1, string2, string3string4의 네 개의 문자열을 정의합니다. print() 함수는 이러한 문자열을 표시하는 데 사용됩니다.

이제 스크립트를 실행하여 출력을 확인해 보겠습니다.

  1. VS Code 환경에서 터미널을 엽니다.

    VS Code 메뉴에서 "View" -> "Terminal"을 클릭하여 터미널을 열 수 있습니다.

  2. 다음 명령을 사용하여 Python 스크립트를 실행합니다.

python uppercase_strings.py

다음 출력을 볼 수 있습니다.

String 1: HELLO
String 2: Hello
String 3: 123HELLO
String 4: HELLO WORLD

다음 단계에서는 isupper() 메서드를 사용하여 문자열이 모두 대문자인지 확인하는 방법을 배우게 됩니다.

isupper() 메서드 사용

이 단계에서는 Python 에서 isupper() 메서드를 사용하여 문자열이 모두 대문자인지 확인하는 방법을 배우게 됩니다. isupper() 메서드는 문자열의 모든 문자가 대문자인 경우 True를 반환하고 그렇지 않으면 False를 반환하는 내장 문자열 메서드입니다.

이전 단계에서 생성한 uppercase_strings.py 파일을 수정하여 isupper() 메서드를 사용해 보겠습니다.

  1. VS Code 편집기에서 uppercase_strings.py 파일을 엽니다.
  2. 다음과 같이 isupper() 메서드를 포함하도록 코드를 수정합니다.
## Example strings
string1 = "HELLO"
string2 = "Hello"
string3 = "123HELLO"
string4 = "HELLO WORLD"

## Check if the strings are uppercase using isupper()
result1 = string1.isupper()
result2 = string2.isupper()
result3 = string3.isupper()
result4 = string4.isupper()

## Print the results
print(f"String 1: {string1}, is uppercase: {result1}")
print(f"String 2: {string2}, is uppercase: {result2}")
print(f"String 3: {string3}, is uppercase: {result3}")
print(f"String 4: {string4}, is uppercase: {result4}")

이 코드에서는 각 예제 문자열에 대해 isupper() 메서드를 호출하고 결과를 result1, result2, result3result4 변수에 저장합니다. 그런 다음 원래 문자열과 해당 isupper() 결과를 함께 출력합니다.

이제 스크립트를 실행하여 출력을 확인해 보겠습니다.

  1. VS Code 환경에서 터미널을 엽니다.
  2. 다음 명령을 사용하여 Python 스크립트를 실행합니다.
python uppercase_strings.py

다음 출력을 볼 수 있습니다.

String 1: HELLO, is uppercase: True
String 2: Hello, is uppercase: False
String 3: 123HELLO, is uppercase: False
String 4: HELLO WORLD, is uppercase: False

보시다시피, string1 (HELLO) 은 모든 문자가 대문자이므로 True를 반환하는 유일한 문자열입니다. 다른 문자열은 소문자, 숫자 또는 공백을 포함하므로 False를 반환합니다.

다음 단계에서는 대문자 문자열을 확인할 때 문자 이외의 문자를 처리하는 방법을 배우게 됩니다.

문자가 아닌 문자 처리

이 단계에서는 문자열이 대문자로 간주되는지 확인할 때 문자 이외의 문자를 처리하는 방법을 배우게 됩니다. isupper() 메서드는 모든 문자가 대문자인 경우에만 True를 반환합니다. 문자열에 숫자, 공백 또는 기타 문자 이외의 문자가 포함된 경우 isupper()False를 반환합니다. 이러한 경우를 처리하려면 isupper() 메서드를 적용하기 전에 문자 이외의 문자를 필터링할 수 있습니다.

uppercase_strings.py 파일을 수정하여 문자 이외의 문자를 처리해 보겠습니다.

  1. VS Code 편집기에서 uppercase_strings.py 파일을 엽니다.
  2. 다음과 같이 문자 이외의 문자에 대한 필터링 메커니즘을 포함하도록 코드를 수정합니다.
## Example strings
string1 = "HELLO"
string2 = "Hello"
string3 = "123HELLO"
string4 = "HELLO WORLD"
string5 = "HELLO123WORLD"

## Function to check if a string is uppercase, ignoring non-letters
def is_uppercase_ignore_non_letters(s):
    letters = ''.join(filter(str.isalpha, s))
    return letters.isupper()

## Check if the strings are uppercase using the custom function
result1 = is_uppercase_ignore_non_letters(string1)
result2 = is_uppercase_ignore_non_letters(string2)
result3 = is_uppercase_ignore_non_letters(string3)
result4 = is_uppercase_ignore_non_letters(string4)
result5 = is_uppercase_ignore_non_letters(string5)

## Print the results
print(f"String 1: {string1}, is uppercase (ignoring non-letters): {result1}")
print(f"String 2: {string2}, is uppercase (ignoring non-letters): {result2}")
print(f"String 3: {string3}, is uppercase (ignoring non-letters): {result3}")
print(f"String 4: {string4}, is uppercase (ignoring non-letters): {result4}")
print(f"String 5: {string5}, is uppercase (ignoring non-letters): {result5}")

이 코드에서:

  • is_uppercase_ignore_non_letters(s) 함수를 정의하여 filter(str.isalpha, s)를 사용하여 입력 문자열 s에서 문자 이외의 문자를 필터링합니다. str.isalpha() 메서드는 문자가 문자 (A-Z, a-z) 인 경우 True를 반환하고 그렇지 않으면 False를 반환합니다.
  • ''.join() 메서드는 필터링된 문자를 다시 문자열로 결합합니다.
  • 그런 다음 isupper() 메서드를 필터링된 문자열에 적용합니다.
  • 마지막으로, 원래 문자열과 사용자 정의 함수에서 얻은 해당 결과를 함께 출력합니다.

이제 스크립트를 실행하여 출력을 확인해 보겠습니다.

  1. VS Code 환경에서 터미널을 엽니다.
  2. 다음 명령을 사용하여 Python 스크립트를 실행합니다.
python uppercase_strings.py

다음 출력을 볼 수 있습니다.

String 1: HELLO, is uppercase (ignoring non-letters): True
String 2: Hello, is uppercase (ignoring non-letters): False
String 3: 123HELLO, is uppercase (ignoring non-letters): True
String 4: HELLO WORLD, is uppercase (ignoring non-letters): False
String 5: HELLO123WORLD, is uppercase (ignoring non-letters): True

보시다시피, string3 (123HELLO) 과 string5 (HELLO123WORLD) 는 이제 True를 반환합니다. 문자 이외의 문자가 무시되고 나머지 문자가 모두 대문자이기 때문입니다.

이 접근 방식을 사용하면 문자 이외의 문자가 포함된 경우에도 문자열이 대문자인지 정확하게 확인할 수 있습니다.

요약

이 Lab 에서는 Python 에서 대문자 문자열을 탐색하고 이를 실험하기 위해 uppercase_strings.py 파일을 생성하는 것으로 시작했습니다. 다양한 대소문자 및 내용을 가진 네 개의 문자열을 정의한 다음 print() 함수를 사용하여 콘솔에 출력했습니다. 이를 통해 다양한 문자열 형식을 시각적으로 검사하고 다음 단계에서 isupper() 메서드를 사용할 준비를 할 수 있었습니다.

다음 단계에서는 isupper() 메서드를 활용하여 문자열이 완전히 대문자 문자로 구성되어 있는지 프로그래밍 방식으로 확인하는 데 중점을 둡니다.