Валидация длины строки
На этом этапе вы сочетаете метод 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()
и валидацию длины для создания более надежной логики валидации входных данных.