Tijdens het inloggen op een applicatie of website moet je naast je usernaam of emailadres ook een paswoord ingeven. Dit om je account te beveiligen en te verifiëren dat jij de rechtmatige eigenaar bent.

Opdracht
We simuleren een login scherm waar de gebruiker een paswoord moet ingeven.
- Schrijf hiervoor de functie login() die geen parameters heeft. Als de functie wordt opgeroepen, dan wordt er aan de gebruiker gevraagd een paswoord in te geven.
- Het geheime paswoord is “GTIL#1234”.
- De gebruiker heeft 5 pogingen om het paswoord correct in te geven.
- Bij een correcte invoer, print je de tekst: “Login succesvol!”.
- Bij een incorrecte invoer, print je “Incorrect wachtwoord.” en als nog niet alle pogingen opgebruikt zijn, ook hoeveel pogingen de gebruiker nog heeft met de tekst: “Nog # pogingen over.” of “Nog 1 poging over.” afhankelijk van het aantal pogingen over.
- Indien de laatste poging incorrect is, dan wordt de custom exception TooManyAttemptsError opgeroepen met de errorboodschap “Te veel mislukte pogingen. Toegang geblokkeerd.”.
- Je schrijft een hoofdprogramma dat de functie login() oproept en de custom exception “TooManyAttemptsError” opvangt en afhandelt met de tekst:
- “SECURITY ALERT: <info van de exception>”.
Tip:
- Denk aan de shorthand if/else voor het aanpassen van een meervoudsvorm in een f-string.
Voorbeelden
Invoer
gtil@12
GTIL#1234
Uitvoer
Incorrect wachtwoord.
Nog 4 pogingen over.
Login succesvol!
Invoer
gtil@12
gtil@123
GTIL@123
GTI#123
GTIL#123
Uitvoer
Incorrect wachtwoord.
Nog 4 pogingen over.
Incorrect wachtwoord.
Nog 3 pogingen over.
Incorrect wachtwoord.
Nog 2 pogingen over.
Incorrect wachtwoord.
Nog 1 poging over.
Incorrect wachtwoord.
SECURITY ALERT: Te veel mislukte pogingen. Toegang geblokkeerd.