Как проверить, состоит ли строка из заглавных букв в Python

PythonPythonBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы научитесь проверять, состоит ли строка полностью из заглавных букв с использованием Python. Практическое занятие начинается с изучения строк, состоящих из заглавных букв, и создания файла на Python для экспериментов с разными примерами строк. Затем вы будете использовать метод isupper(), встроенный метод строки, чтобы определить, являются ли все символы в строке заглавными.

В конце практического занятия вы узнаете, как учитывать небуквенные символы при проверке строк на наличие только заглавных букв, обеспечивая точные результаты даже в том случае, если строки содержат цифры или пробелы. Это включает модификацию кода для перебора строки и проверки каждого символа по отдельности.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") subgraph Lab Skills python/strings -.-> lab-559581{{"Как проверить, состоит ли строка из заглавных букв в Python"}} python/function_definition -.-> lab-559581{{"Как проверить, состоит ли строка из заглавных букв в Python"}} python/build_in_functions -.-> lab-559581{{"Как проверить, состоит ли строка из заглавных букв в Python"}} end

Исследование строк, состоящих из заглавных букв

На этом этапе вы узнаете о строках, состоящих из заглавных букв в Python, и как их определять. Понимание того, как работать со строками, состоящими из заглавных букв, является фундаментальным для таких задач, как валидация данных, нормализация текста и обработка команд.

Начнем с создания файла на Python для экспериментов со строками.

  1. Откройте редактор VS Code в среде LabEx.

  2. Создайте новый файл с именем uppercase_strings.py в директории ~/project.

    Вы можете создать новый файл, кликнув на "File" -> "New File" в меню VS Code, а затем сохраните его как uppercase_strings.py в директории ~/project.

  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, string3 и string4. Функция print() используется для отображения этих строк.

Теперь запустим скрипт, чтобы увидеть вывод.

  1. Откройте терминал в среде VS Code.

    Вы можете открыть терминал, кликнув на "View" -> "Terminal" в меню VS Code.

  2. Выполните скрипт Python с помощью следующей команды:

python uppercase_strings.py

Вы должны увидеть следующий вывод:

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

На следующем этапе вы узнаете, как использовать метод isupper() для проверки, состоит ли строка полностью из заглавных букв.

Использование метода isupper()

На этом этапе вы узнаете, как использовать метод isupper() в Python для проверки, состоит ли строка полностью из заглавных букв. Метод isupper() - это встроенный метод строки, который возвращает True, если все символы в строке являются заглавными, и False в противном случае.

Давайте модифицируем файл uppercase_strings.py, который вы создали на предыдущем этапе, чтобы использовать метод isupper().

  1. Откройте файл uppercase_strings.py в редакторе VS Code.
  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, result3 и result4. Затем мы выводим исходные строки вместе с соответствующими результатами метода 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. Откройте файл uppercase_strings.py в редакторе VS Code.
  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), которая отфильтровывает небуквенные символы из входной строки s с помощью filter(str.isalpha, s). Метод str.isalpha() возвращает True, если символ является буквой (от A до Z или от a до z), и 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, так как небуквенные символы игнорируются, а оставшиеся буквы являются заглавными.

Этот подход позволяет вам точно определить, является ли строка строкой из заглавных букв, даже если она содержит небуквенные символы.

Резюме

В этом практическом занятии вы начали с изучения строк, состоящих из заглавных букв в Python, и создали файл uppercase_strings.py для экспериментов с ними. Вы определили четыре строки с разным регистром и содержимым, а затем вывели их в консоль с помощью функции print(). Это позволило вам визуально оценить разные форматы строк и подготовиться к использованию метода isupper() на следующем этапе.

На следующем этапе вы будете использовать метод isupper() для программной проверки, состоит ли строка полностью из заглавных символов.