# 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!**