# -*- coding: utf-8 -*-
'''
Задание 5.2

Запросить у пользователя ввод IP-сети в формате: 10.1.1.0/24

Затем вывести информацию о сети и маске в таком формате:

Network:
10        1         1         0
00001010  00000001  00000001  00000000

Mask:
/24
255       255       255       0
11111111  11111111  11111111  00000000

Проверить работу скрипта на разных комбинациях сеть/маска.

Ограничение: Все задания надо выполнять используя только пройденные темы.
'''
ip = input("Введите IP адрес в формате ip/mask: ")
templ = """
Network:
{0:<8} {1:<8} {2:<8} {3:<8}
{0:08b} {1:08b} {2:08b} {3:08b}

Mask:
/{4}
{5:<8} {6:<8} {7:<8} {8:<8}
{5:08b} {6:08b} {7:08b} {8:08b}

"""
ip,mask = ip.split('/')
ip1,ip2,ip3,ip4 = ip.split('.')
mask_hex = hex(0x100000000-2**(32-int(mask)))[2:]
mask1,mask2,mask3,mask4 = [(mask_hex[i:i+2]) for i in range(0,len(mask_hex),2)]
print(templ.format(int(ip1),int(ip2),int(ip3),int(ip4),mask,int(mask1,16),int(mask2,16),int(mask3,16),int(mask4,16)))

