Все задачи №10
№10

Чётное число единиц

Сеть задана IP-адресом 192.168.10.64 и маской 255.255.255.224. Сколько в этой сети IP-адресов, в двоичной записи которых чётное количество единиц? В ответе укажите только число.

Учебная задача

Ответвпиши то, что вывела программа
Показать разбор
  1. Создай сеть через ip_network по адресу и маске.
  2. Перебери все адреса циклом: спрашивают про адреса, а не про узлы.
  3. Посчитай единицы в записи f'{ip:b}'.
  4. Считай адреса, где число единиц чётное.
from ipaddress import ip_network

net = ip_network('192.168.10.64/255.255.255.224')
k = 0
for ip in net:
    if f'{ip:b}'.count('1') % 2 == 0:
        k += 1
print(k)