92
Студента
70%
Завершения
src/solution.py
Реализуйте функцию-предикат is_valid_ipv6()
, которая проверяет IPv6-адреса (адреса шестой версии интернет протокола) на корректность. Функция принимает на вход строку с адресом IPv6 и возвращает True
, если адрес корректный, и False
, если нет.
Дополнительные условия:
- Работа функции не зависит от регистра символов.
- Ведущие нули в группах цифр необязательны.
- Самая длинная последовательность групп нулей, например,
:0:0:0:
может быть заменена на два двоеточия::
. Такую замену можно произвести только один раз. - Одна группа нулей
:0:
не может быть заменена на::
.
from solution import is_valid_ipv6
is_valid_ipv6('10:d3:2d06:24:400c:5ee0:be:3d')
# True
is_valid_ipv6('::1')
# True
is_valid_ipv6('2607:G8B0:4010:801::1004')
# False
is_valid_ipv6('2.001::')
# False
Подсказки
- IPv6
- Для реализации проверки пограничных случаев изучите список IP-адресов в модуле с тестами.
- Используйте константу string.hexdigits для проверки, что строка содержит валидное представление шестнадцатеричного числа.
Для полного доступа к испытанию нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.