46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
available_ips = set()
|
|
used_ips = set()
|
|
|
|
|
|
def print_ips():
|
|
|
|
available_ips_list = list(available_ips)
|
|
used_ips_list = list(used_ips)
|
|
|
|
if len(available_ips_list) > len(used_ips_list):
|
|
for _ in range(0, len(available_ips_list) - len(used_ips_list)):
|
|
used_ips_list.append("")
|
|
elif len(available_ips_list) < len(used_ips_list):
|
|
for _ in range(0, len(used_ips_list) - len(available_ips_list)):
|
|
available_ips_list.append("")
|
|
|
|
print()
|
|
print(" available used")
|
|
print(" ---------------- -----------------")
|
|
for available_ip, used_ip in zip(available_ips_list, used_ips_list):
|
|
print(f" {available_ip:>16} {used_ip:<16}")
|
|
|
|
|
|
for index in range(180, 200):
|
|
available_ips.add("10.0.1." + str(index))
|
|
|
|
while True:
|
|
print_ips()
|
|
ip_address = input("\nEnter IP address to allocate: ")
|
|
if not ip_address:
|
|
print("\nExiting 'sets' application")
|
|
exit()
|
|
|
|
if ip_address in available_ips:
|
|
|
|
print(f"-- allocated IP address: {ip_address}")
|
|
available_ips.remove(ip_address)
|
|
used_ips.add(ip_address)
|
|
|
|
print_ips()
|
|
|
|
if len(available_ips.intersection(used_ips)) > 0:
|
|
print("\n-- ERROR! one or more IPs in both sets")
|
|
|
|
else:
|
|
print("-- IP address not found in available IPs\n") |