- ru
- Language: en
- Documentation version: latest
Задания
Warning
Начиная с раздела “9. Функции” для проверки заданий есть автоматические тесты. Они помогают проверить все ли соответствует поставленной задаче, а также дают обратный отклик по тому, что не соответствует задаче. Как правило, после первого периода адаптации к тестам, становится проще делать задания с тестами.
Задание 12.1
Создать функцию ping_ip_addresses, которая проверяет пингуются ли IP-адреса. Функция ожидает как аргумент список IP-адресов.
Функция должна возвращать кортеж с двумя списками:
список доступных IP-адресов
список недоступных IP-адресов
Для проверки доступности IP-адреса, используйте команду ping.
Ограничение: Все задания надо выполнять используя только пройденные темы.
Задание 12.2
Функция ping_ip_addresses из задания 12.1 принимает только список адресов, но было бы удобно иметь возможность указывать адреса с помощью диапазона, например, 192.168.100.1-10.
В этом задании необходимо создать функцию convert_ranges_to_ip_list, которая конвертирует список IP-адресов в разных форматах в список, где каждый IP-адрес указан отдельно.
Функция ожидает как аргумент список IP-адресов и/или диапазонов IP-адресов.
Элементы списка могут быть в формате:
10.1.1.1
10.1.1.1-10.1.1.10
10.1.1.1-10
Если адрес указан в виде диапазона, надо развернуть диапазон в отдельные адреса, включая последний адрес диапазона. Для упрощения задачи, можно считать, что в диапазоне всегда меняется только последний октет адреса.
Функция возвращает список IP-адресов.
Например, если передать функции convert_ranges_to_ip_list такой список:
['8.8.4.4', '1.1.1.1-3', '172.21.41.128-172.21.41.132']
Функция должна вернуть такой список:
['8.8.4.4', '1.1.1.1', '1.1.1.2', '1.1.1.3', '172.21.41.128',
'172.21.41.129', '172.21.41.130', '172.21.41.131', '172.21.41.132']
Задание 12.3
Создать функцию print_ip_table, которая отображает таблицу доступных и недоступных IP-адресов.
Функция ожидает как аргументы два списка:
список доступных IP-адресов
список недоступных IP-адресов
Результат работы функции - вывод на стандартный поток вывода таблицы вида:
Reachable Unreachable
----------- -------------
10.1.1.1 10.1.1.7
10.1.1.2 10.1.1.8
10.1.1.9
Функция не должна изменять списки, которые переданы ей как аргументы. То есть, до выполнения функции и после списки должны выглядеть одинаково.
Для этого задания нет тестов