New Page

""" 

 Praktijkleren Examenopdracht – Python 

 Onderwerp: Kentekencheck automatiseren 

 Auteur: <jouw naam> 

 Datum: <datum> 

 

 Dit script automatiseert het opzoeken van voertuiggegevens 

 op basis van een kenteken via RDW Open Data. 

 """ 

 

 import requests 

 

 def vraag_kenteken(): 

 

 """ 

 

 Vraagt maximaal 3 keer om een geldig kenteken. 

 

 Retourneert het kenteken of None. 

 

 """ 

 

 pogingen = 0  # variabele 

 

 

 while pogingen < 3:  # lus met limiet 

 

 kenteken = input("Voer een kenteken in (6 tekens): ") 

 

 kenteken = kenteken.upper().replace("-", "").strip() 

 

 

 if len(kenteken) == 6:  # beslissing 

 

 return kenteken 

 

 else: 

 

 pogingen += 1 

 

 print(f"Ongeldig kenteken. Poging {pogingen} van 3.") 

 

 

 print("Te veel foutieve pogingen. Programma stopt.") 

 

 return None 

 

 def haal_voertuiggegevens_op(kenteken): 

 

 """ 

 

 Haalt voertuiggegevens op via RDW Open Data. 

 

 """ 

 

 url = "https://opendata.rdw.nl/resource/m9d7-ebf2.json" 

 

 params = {"kenteken": kenteken} 

 

 

 try: 

 

 response = requests.get(url, params=params, timeout=10) 

 

 response.raise_for_status() 

 

 return response.json() 

 

 except requests.RequestException: 

 

 return None 

 

 def toon_gegevens(data): 

 

 """ 

 

 Toont voertuiggegevens op een leesbare manier. 

 

 """ 

 

 if not data:  # beslissing 

 

 print("Geen voertuiggegevens gevonden.") 

 

 return 

 

 

 voertuig = data[0] 

 

 print("\nVoertuiggegevens:") 

 

 print("Kenteken:", voertuig.get("kenteken")) 

 

 print("Merk:", voertuig.get("merk")) 

 

 print("Type:", voertuig.get("handelsbenaming")) 

 

 print("Voertuigsoort:", voertuig.get("voertuigsoort")) 

 

 print("Eerste toelating:", voertuig.get("datum_eerste_toelating")) 

 

 def main(): 

 

 """ 

 

 Hoofdprogramma 

 

 """ 

 

 doorgaan = True  # variabele 

 

 

 while doorgaan:  # lus 

 

 kenteken = vraag_kenteken() 

 

 if kenteken is None: 

 

 break  # stoppen bij te veel fouten 

 

 

 gegevens = haal_voertuiggegevens_op(kenteken) 

 

 toon_gegevens(gegevens) 

 

 

 keuze = input("\nNog een kenteken controleren? (j/n): ") 

 

 if keuze.lower() != "j":  # beslissing 

 

 doorgaan = False 

 

 

 print("Programma afgesloten.") 

 

 main()