Как проверить, является ли символ цифрой в Python

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

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

Введение

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

В рамках практического занятия (лабораторной работы) вы создадите файл digit_check.py, назначите символ переменной и используете метод isdigit() для определения, является ли он цифрой. Затем вы измените символ и перезапустите скрипт, чтобы наблюдать разные выходные данные, что продемонстрирует, как различать цифровые и нецифровые символы.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") subgraph Lab Skills python/strings -.-> lab-559498{{"Как проверить, является ли символ цифрой в Python"}} python/conditional_statements -.-> lab-559498{{"Как проверить, является ли символ цифрой в Python"}} python/for_loops -.-> lab-559498{{"Как проверить, является ли символ цифрой в Python"}} python/build_in_functions -.-> lab-559498{{"Как проверить, является ли символ цифрой в Python"}} end

Исследование цифровых символов

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

Начнем с создания файла Python с именем digit_check.py в каталоге ~/project с использованием редактора VS Code.

## Create a file named digit_check.py in ~/project

Теперь откройте файл digit_check.py в редакторе и добавьте следующий код:

## ~/project/digit_check.py
character = '5'

## Check if the character is a digit
if character.isdigit():
    print(f"'{character}' is a digit.")
else:
    print(f"'{character}' is not a digit.")

В этом коде:

  • Мы определяем переменную character и присваиваем ей значение '5'.
  • Мы используем метод isdigit() для проверки, является ли символ цифрой.
  • Если метод isdigit() возвращает True, мы выводим сообщение, указывающее, что символ является цифрой. В противном случае мы выводим сообщение, указывающее, что он не является цифрой.

Чтобы запустить скрипт, откройте терминал и перейдите в каталог ~/project:

cd ~/project

Затем выполните скрипт Python с помощью команды python:

python digit_check.py

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

'5' is a digit.

Теперь изменим файл digit_check.py для проверки другого символа. Измените значение переменной character на 'A':

## ~/project/digit_check.py
character = 'A'

## Check if the character is a digit
if character.isdigit():
    print(f"'{character}' is a digit.")
else:
    print(f"'{character}' is not a digit.")

Сохраните изменения и запустите скрипт еще раз:

python digit_check.py

На этот раз вы должны увидеть следующий вывод:

'A' is not a digit.

Это демонстрирует, как метод isdigit() можно использовать для различения между цифровыми и нецифровыми символами.

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

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

Давайте изменим файл digit_check.py в каталоге ~/project, чтобы перебрать строку и проверить каждый символ.

Откройте файл digit_check.py в редакторе VS Code и добавьте следующий код:

## ~/project/digit_check.py
input_string = "123abc456"

## Iterate through the string and check each character
for character in input_string:
    if character.isdigit():
        print(f"'{character}' is a digit.")
    else:
        print(f"'{character}' is not a digit.")

В этом коде:

  • Мы определяем переменную input_string и присваиваем ей значение "123abc456".
  • Мы используем цикл for для перебора каждого символа в строке.
  • Внутри цикла мы используем метод isdigit() для проверки, является ли текущий символ цифрой.
  • Мы выводим сообщение, указывающее, является ли каждый символ цифрой или нет.

Чтобы запустить скрипт, откройте терминал и перейдите в каталог ~/project:

cd ~/project

Затем выполните скрипт Python с помощью команды python:

python digit_check.py

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

'1' is a digit.
'2' is a digit.
'3' is a digit.
'a' is not a digit.
'b' is not a digit.
'c' is not a digit.
'4' is a digit.
'5' is a digit.
'6' is a digit.

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

Валидация длины строки

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

Давайте изменим файл digit_check.py в каталоге ~/project, чтобы проверить, что входная строка содержит только цифры и имеет определенную длину.

Откройте файл digit_check.py в редакторе VS Code и добавьте следующий код:

## ~/project/digit_check.py
input_string = "12345"
expected_length = 5

## Check if the string contains only digits and has the expected length
if len(input_string) == expected_length and input_string.isdigit():
    print(f"The string '{input_string}' is valid.")
else:
    print(f"The string '{input_string}' is invalid.")

В этом коде:

  • Мы определяем переменную input_string и присваиваем ей значение "12345".
  • Мы определяем переменную expected_length и присваиваем ей значение 5.
  • Мы используем функцию len() для получения длины входной строки.
  • Мы используем метод isdigit() для проверки, содержит ли строка только цифры.
  • Мы комбинируем эти проверки с помощью оператора and, чтобы убедиться, что оба условия выполняются.
  • Мы выводим сообщение, указывающее, является ли строка допустимой или недопустимой.

Чтобы запустить скрипт, откройте терминал и перейдите в каталог ~/project:

cd ~/project

Затем выполните скрипт Python с помощью команды python:

python digit_check.py

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

The string '12345' is valid.

Теперь изменим input_string на "1234a" и запустим скрипт еще раз:

## ~/project/digit_check.py
input_string = "1234a"
expected_length = 5

## Check if the string contains only digits and has the expected length
if len(input_string) == expected_length and input_string.isdigit():
    print(f"The string '{input_string}' is valid.")
else:
    print(f"The string '{input_string}' is invalid.")
python digit_check.py

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

The string '1234a' is invalid.

Наконец, изменим input_string на "123456" и запустим скрипт еще раз:

## ~/project/digit_check.py
input_string = "123456"
expected_length = 5

## Check if the string contains only digits and has the expected length
if len(input_string) == expected_length and input_string.isdigit():
    print(f"The string '{input_string}' is valid.")
else:
    print(f"The string '{input_string}' is invalid.")
python digit_check.py

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

The string '123456' is invalid.

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

Резюме

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

Вы протестировали скрипт как с цифровым символом ('5'), так и с нецифровым символом ('A'), наблюдая разные выходные данные в зависимости от возвращаемого значения метода isdigit(). Это продемонстрировало базовое использование метода isdigit() для валидации символов.