Задания

Все задания и вспомогательные файлы можно скачать в репозитории.

Предупреждение

Начиная с раздела «4. Типы данных в Python» для проверки заданий есть автоматические тесты. Они помогают проверить все ли соответствует поставленной задаче, а также дают обратный отклик по тому, что не соответствует задаче. Как правило, после первого периода адаптации к тестам, становится проще делать задания с тестами. Проверка заданий выполняется с помощью утилиты pyneng. Подробнее о том как работать с утилитой pyneng.

Примечание

В разделе 4 тесты можно легко «обмануть» сделав нужный вывод, без получения результатов из исходных данных с помощью Python. Это не значит, что задание сделано правильно, просто на данном этапе сложно иначе проверять результат.

Задание 4.1

Используя подготовленную строку nat, получить новую строку, в которой в имени интерфейса вместо FastEthernet написано GigabitEthernet. Полученную новую строку вывести на стандартный поток вывода (stdout) с помощью print.

Ограничение: Все задания надо выполнять используя только пройденные темы.

nat = "ip nat inside source list ACL interface FastEthernet0/1 overload"

Задание 4.2

Преобразовать строку в переменной mac из формата XXXX:XXXX:XXXX в формат XXXX.XXXX.XXXX Полученную новую строку вывести на стандартный поток вывода (stdout) с помощью print.

Ограничение: Все задания надо выполнять используя только пройденные темы.

mac = "AAAA:BBBB:CCCC"

Задание 4.3

Получить из строки config такой список VLANов:

['1', '3', '10', '20', '30', '100']

Записать итоговый список в переменную result. (именно эта переменная будет проверяться в тесте)

Полученный список result вывести на стандартный поток вывода (stdout) с помощью print. Тут очень важный момент, что надо получить именно список (тип данных), а не, например, строку, которая похожа на показанный список.

Ограничение: Все задания надо выполнять используя только пройденные темы.

config = "switchport trunk allowed vlan 1,3,10,20,30,100"

Задание 4.4

Список vlans это список VLANов, собранных со всех устройств сети, поэтому в списке есть повторяющиеся номера VLAN.

Из списка vlans нужно получить новый список уникальных номеров VLANов, отсортированный по возрастанию номеров. Для получения итогового списка нельзя удалять конкретные vlanы вручную.

Записать итоговый список уникальных номеров VLANов в переменную result. (именно эта переменная будет проверяться в тесте)

Полученный список result вывести на стандартный поток вывода (stdout) с помощью print.

Ограничение: Все задания надо выполнять используя только пройденные темы.

vlans = [10, 20, 30, 1, 2, 100, 10, 30, 3, 4, 10]

Задание 4.5

Из строк command1 и command2 получить список VLANов, которые есть и в команде command1 и в команде command2 (пересечение).

В данном случае, результатом должен быть такой список: ['1', '3', '8']

Записать итоговый список в переменную result. (именно эта переменная будет проверяться в тесте)

Полученный список result вывести на стандартный поток вывода (stdout) с помощью print.

Ограничение: Все задания надо выполнять используя только пройденные темы.

command1 = "switchport trunk allowed vlan 1,2,3,5,8"
command2 = "switchport trunk allowed vlan 1,3,8,9"

Задание 4.6

Обработать строку ospf_route и вывести информацию на стандартный поток вывода в виде:

Prefix                10.0.24.0/24
AD/Metric             110/41
Next-Hop              10.0.13.3
Last update           3d18h
Outbound Interface    FastEthernet0/0

Ограничение: Все задания надо выполнять используя только пройденные темы.

ospf_route = "       10.0.24.0/24 [110/41] via 10.0.13.3, 3d18h, FastEthernet0/0"

Задание 4.7

Преобразовать MAC-адрес в строке mac в двоичную строку такого вида: „101010101010101010111011101110111100110011001100“

Полученную новую строку вывести на стандартный поток вывода (stdout) с помощью print.

Ограничение: Все задания надо выполнять используя только пройденные темы.

mac = "AAAA:BBBB:CCCC"

Задание 4.8

Преобразовать IP-адрес в переменной ip в двоичный формат и вывести на стандартный поток вывода вывод столбцами, таким образом:

  • первой строкой должны идти десятичные значения байтов
  • второй строкой двоичные значения

Вывод должен быть упорядочен также, как в примере:

  • столбцами
  • ширина столбца 10 символов (в двоичном формате надо добавить два пробела между столбцами для разделения октетов между собой)

Пример вывода для адреса 10.1.1.1:

10        1         1         1
00001010  00000001  00000001  00000001

Ограничение: Все задания надо выполнять используя только пройденные темы.

ip = "192.168.3.1"