# Hello everyone # In this task I had to create simple IP / subnet calculator in Python. I'm just wondering how you see this problem. There is my code: ``` def toBinary(integer): binary = ['{0:0>8}'.format(bin(int(x))[2:]) for x in integer.split(".")] return binary def ip_information(ip, mask): binary_ip = toBinary(ip) binary_mask = toBinary(mask) network_ip = ["", "", "", ""] broadcast_address = ["", "", "", ""] number_of_hosts = 1 for x in range(4): for y in range(8): network_ip[x] += str(int(binary_ip[x][y]) and int(binary_mask[x][y])) broadcast_address[x] += str(int(not int(binary_mask[x][y]))) if binary_mask[x][y] == '0': number_of_hosts *= 2 network_ip[x] = int(network_ip[x], 2) broadcast_address[x] = int(broadcast_address[x], 2) + network_ip[x] return f""" Network IP: {".".join(str(x) for x in network_ip)} Broadcast address: {".".join(str(x) for x in broadcast_address)} Number of hosts: {number_of_hosts - 2} """ ``` Output: ``` Network IP: 192.168.0.0 Broadcast address: 192.168.0.255 Number of hosts: 254 ``` Any tips how to make this better, closer to a advanced (but still, can take under account to make it simple) or just better solution will be definitely on point. Thanks in advance! using Python 3.10 **Enjoy your coffee, and your wednesday!**