New Page
"""
Praktijkleren Examenopdracht – Python
Onderwerp: Subnetcalculator
Auteur: <jouw naam>
Datum: <datum>
Dit script automatiseert het berekenen van netwerkgegevens
op basis van een IP-adres en subnetmasker.
"""
def vraag_ip_adres():
"""
Vraagt maximaal 3 keer om een geldig IPv4-adres.
"""
pogingen = 0
while pogingen < 3:
ip = input("Voer een IP-adres in (bijv. 192.168.1.10): ")
delen = ip.split(".")
if len(delen) == 4 and all(d.isdigit() and 0 <= int(d) <= 255 for d in delen):
return ip
else:
pogingen += 1
print(f"Ongeldig IP-adres. Poging {pogingen} van 3.")
print("Te veel foutieve pogingen.")
return None
def vraag_subnetmasker():
"""
Vraagt een subnetmasker in CIDR-notatie.
"""
masker = input("Voer subnetmasker in (CIDR, bijv. 24): ")
if masker.isdigit() and 0 <= int(masker) <= 32:
return int(masker)
else:
print("Ongeldig subnetmasker.")
return None
def bereken_hosts(cidr):
"""
Berekent het aantal hosts op basis van CIDR.
"""
host_bits = 32 - cidr
hosts = (2 ** host_bits) - 2
return hosts
def main():
"""
Hoofdprogramma
"""
ip = vraag_ip_adres()
if ip is None:
return
cidr = vraag_subnetmasker()
if cidr is None:
return
hosts = bereken_hosts(cidr)
print("\nResultaat:")
print("IP-adres:", ip)
print("Subnetmasker: /" + str(cidr))
print("Aantal mogelijke hosts:", hosts)
main()
No comments to display
No comments to display