Python: Валидатор IPv6

Python: Функции 5 сообщений
Обновлено: 30 марта, 12:28
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 для проверки, что строка содержит валидное представление шестнадцатеричного числа.

Для полного доступа к испытанию нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
900
упражнений
2000+
часов теории
3200
тестов