Перебор без ошибок · тема 8 из 8
Сети с ipaddress
IP-адреса · 2027 №10 / 2026 №13
Одна идея — один пример
ip_network("адрес/префикс", strict=False) определяет сеть по адресу узла. Свойство network_address — её адрес, num_addresses — число всех адресов.
from ipaddress import ip_network
net = ip_network("192.168.1.45/27", strict=False)
print(net.num_addresses)
Теперь решаем самостоятельно
hosts() исключает некоторые служебные адреса; прямой перебор сети включает все. Выбирай по формулировке задачи, а не по привычке.
Вводится корректная запись IPv4 вида адрес/префикс. Выведи адрес сети и число всех адресов через пробел.
Пример входных данных и результата
Ввод:
192.168.1.45/27
Вывод:
192.168.1.32 32
Черновик и файл программы
Черновик сохраняется в этом браузере. Ctrl/⌘ + S — сохранить.
Результаты проверки
Напиши решение и нажми «Проверить код». Данные каждого теста подаются автоматически.
Нужна подсказка?
Создай net с strict=False, затем используй два свойства.
На чём легко ошибиться
Не вычитай 2, если спрашивают все адреса сети.
Разобрать один из способов решения
Сначала попробуй написать код сам. Сравни алгоритм, затем закрой разбор и воспроизведи решение без подсказки.
from ipaddress import ip_network
net = ip_network(input(), strict=False)
print(net.network_address, net.num_addresses)Тесты проверяют результат на учебных примерах, но не доказывают правильность для любого входа. Объясни каждую строку и предложи собственный тест.
Перед следующей темой
Назови входные данные, результат, основной шаг алгоритма и граничный случай. Если использовал разбор, напиши решение заново. Для свободных экспериментов открой Python онлайн.
Все темы этого курса
Программа подготовлена по темам банка «Академии С». Официальные документы: ФИПИ. Справочник языка: Python. Не все экзаменационные задачи нужно решать программой: например, работа в таблицах требует освоения табличного редактора.