В Python есть: числа, логические переменные, списки, строки, множества, бинарные списки, словари.
Давайте рассмотрим отдельно каждый тип.
Числа - int, float, complex. Они отвечают понятное дело за числа, их можно складывать/умножать/вычитать/делить.
Логические тип - часто сталкиваемся мы с этим, когда проверяем что-то, к примеру a == b, если a действительно равно b, тогда нам вернется True, а иначе ложь.
Списки - они делятся на кортежи, списки и диапазоны. Диапазон думаю понятно, что такое. А вот в чем отличие кортежа от списка? Основное отличие, кортеж - нельзя изменить, а список можно, да и задаются они немного по разному.
Строки - про них особо нечего сказать, строки можно складывать/умножать(на число). Также мы можем любой объект в Python преобразовать в строку.
Множества - бывают изменяемые(set) и неизменяемые(frozenset). По сути, множества - это "контейнер", который содержит не повторяющиеся элементы в случайном порядке. С множествами можно выполнять много различных операций: находить пересечение/объединение и тд.
Бинарные списки. Здесь рассказать могу только кратенько, новичку разжевать у меня вряд ли получится) Начнем с Байтов (bytes). Байт - минимальная единица хранения и обработки цифровой информации. Последовательность байт представляет собой какую-либо информацию, например: картинку/видео/мелодию. Bytearray - массив байт, отличается от типа bytes только тем, что является изменяемым.
Словари - коллекции произвольных объектов, иногда их называют хэш-таблицами. Доступ к объектам словаря осуществляется по ключу. Что же можно делать с ними? Да всё как везде, и плюсом они имеют свои встроенные функции, но их не так много.
а) 240.97.66.0/18
маска сети в двоичном виде (пробелы для большей наглядности):
1111 1111. 1111 1111. 1100 0000. 0000 0000
определим IP-адрес сети использую маску и IP-адрес из задания:
IP-адрес из задания в двоичном виде: 1111 0000. 0110 0001. 0100 0010. 0000 0000
1111 0000. 0110 0001. 0100 0010. 0000 0000
1111 1111. 1111 1111. 1100 0000. 0000 0000
Полученный адрес сети: 1111 0000. 0110 0001. 0100 0000. 0000 0000
В десятичном виде: 240.97.64.0
Так как полученный IP-адрес не равен IP-адресу из задания, то 240.97.66.0 не может выступать в качестве адреса сети с маской /18
б) 104.184.0.0/13
маска сети в двоичном виде:
1111 1111. 1111 1000. 0000 0000. 0000 0000
определим IP-адрес сети использую маску и IP-адрес из задания:
IP-адрес из задания в двоичном виде: 0110 1000. 1011 1000. 0000 0000. 0000 0000
0110 1000. 1011 1000. 0000 0000. 0000 0000
1111 1111. 1111 1000. 0000 0000. 0000 0000
Полученный адрес сети: 0110 1000. 1011 1000. 0000 0000. 0000 0000
В десятичном виде: 104.184.0.0
Так как полученный IP-адрес равен IP-адресу из задания, то 104.184.0.0 может выступать в качестве адреса сети с маской /13
Если ткань купили до указа, то то 6*2,16 = 12,96 м.
И этот кусок ткани уже лежит у покупателя.
Несмотря ни на какие указы, его длина (в м) не изменится.
Но изменится длина в саженях.
12,96 / 2,1336 ~ 6,074 сажени.
А вот 6 саженей после указа стали равны
6*2,1336 = 12,8016.
По сравнению со старой длиной новая изменилась на
12,96 - 12,8016 = 0,1584 м