Мне нужна помощь в написании программы на Python для выполнения этой задачи. Я пытаюсь преобразовать маску подстановочных знаков в маску сети.
Вход: 192.168.0.1 0.0.0.15
Ожидаемый результат: 192.168.0.1 255.255.255.240
Вы спрашиваете, как инвертировать число?
Что ты пробовал? Я думаю, что это просто оператор xor на битах. Дайте мне знать, если я прав.
my inputs: 192.168.0.1 0.0.0.15
expected output: 192.168.0.1 255.255.255.240
ip, wcmask = input.split()
netmask='.'.join([str(255^int(i)) for i in wcmask.split('.')])
return '{} {}'.format(ip, netmask)
python2
>>> import ipaddress
>>> print ipaddress.ip_network(u'192.168.0.1/0.0.0.15', strict=False).netmask
255.255.255.240
python3
>>> import ipaddress
>>> print(ipaddress.ip_network('192.168.0.1/0.0.0.15', strict=False).netmask)
255.255.255.240
Любая помощь более чем приветствуется и заранее благодарим