Проверочные методы (isdigit, isalpha)

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

Тренажер по Python

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

Вы научитесь:

  • Определять, состоит ли строка только из цифр.
  • Проверять, состоит ли строка только из букв (кириллица или латиница).
  • Обрабатывать ситуации с пробелами, знаками препинания и смешанным содержимым.
  • Применять эти методы в условных конструкциях и циклах для защиты программы от некорректных данных.

Пройдите задания от простых примеров к построению полноценной логики валидации данных. Обратите внимание: методы проверки возвращают булево значение (True или False) и чувствительны к любым символам, не подпадающим под их категорию (включая пробелы).

Список тем

1. Основы isdigit()

id: 39998_task1

Проанализируйте код. Метод isdigit() возвращает True только если все символы в строке являются цифрами. Что выведет данный код?

Выберите правильный вариант ответа
s1 = "2023"
s2 = "20 23"
print(f"{s1.isdigit()} {s2.isdigit()}")
Сообщения
Проверить
Показать подсказку

2. Основы isalpha()

id: 39998_task2

Метод isalpha() проверяет, состоит ли строка только из букв. Посмотрите на примеры и укажите результат выполнения.

Выберите правильный вариант ответа
w1 = "Python"
w2 = "Python3"
print(w1.isalpha())
print(w2.isalpha())
Сообщения
Проверить
Показать подсказку

3. Проверка возраста

id: 39998_task3

Заполните пропуски, чтобы проверить, ввел ли пользователь корректный возраст (только цифры). Если проверка пройдена, преобразуйте строку в число.

Заполните пропуски
age_str = "25"
if age_str.input1S():
    age = input2S(age_str)
    print("Valid age")
else:
    print("Error")
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

4. Сопоставьте строку и результат метода

id: 39998_task4

Сопоставьте вызов метода с результатом, который он вернет (True или False). Обращайте внимание на содержимое строк.

Сопоставьте строки в правой(нижней) части с соответствующими строками в левой(верхней) по порядковому номеру
True (Только буквы)
True (Только цифры)
False (Есть лишние символы)
"100".isdigit()
"Anna".isalpha()
"10.5".isdigit()
Сообщения
Проверить
Показать подсказку

5. Сортировка строк по методам проверки

id: 39998_task5

Распределите строки по категориям в зависимости от того, какой метод вернет для них True. Если ни один из методов не вернет True (смешанные строки или спецсимволы), отправьте в "Оба вернут False".

Перетяните элементы в соответствующие блоки
isdigit() -> True
isalpha() -> True
Оба вернут False
"9800"
"HelloWorld"
"user_name"
"-50"
"Кириллица"
"12 34"
Сообщения
Проверить
Показать подсказку

6. Ошибка вызова метода

id: 39998_task6

В этом коде допущена ошибка при проверке строки. Код всегда считает условие истинным, даже если строка содержит цифры, потому что метод не был вызван, а была проверена ссылка на него. Исправьте синтаксис.

Найдите ошибку и исправьте
name = "Admin1"
if name.isalpha:
    print("Correct name")
else:
    print("Invalid name")
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

7. Фильтрация списка

id: 39998_task7

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

Что должно получиться?
data = ["100", "", "20 20", "5", "a1"]
count = 0
for item in data:
    if item.isdigit():
        count += 1
print(count)
Сообщения
Проверить
Показать подсказку

8. Валидация данных пользователя

id: 39998_task8

Допишите функцию валидации. Имя должно состоять только из букв, а ID — только из цифр. Вставьте подходящие методы и логический оператор из банка.

Нужно правильно расставить в пропуски предложенные варианты
username = "Ivan"
user_id = "5599"

if username.input1S() input2S user_id.input3S():
    print("Access Granted")
else:
    print("Access Denied")
isalpha
isdigit
and
or
alnum
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

9. Цикл ввода корректной цены

id: 39998_task9

Соберите программу, которая бесконечно запрашивает цену у пользователя до тех пор, пока он не введет корректное целое число. Используйте break для выхода из цикла при верном вводе.

Перетяните в правильном порядке строки из одного блока в другой
while True:
    price = input("Введите цену: ")
    if price.isdigit():
        break
    print("Только цифры!")
if price.isalpha():
    continue
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Python: запуск кода в браузере

id: 39998_compiler
🐍
Запустить тренажёр (Python)
НайтиКурс.Ру