Korte samenvatting

  • Met dictionaries kun je als het ware meerdere waarden opslaan onder slechts één naam.
  • Dictionaries maken gebruik van keys en values. Keys zijn als het ware beschrijvingen van de values die je binnen de dictionary opslaat.
  • Je zou de inhoud van een dictionary kunnen printen door middel van de functie print(), maar het is netter om de inhoud van een dictionary te printen door middel van een for loop.

Broncode

# Er wordt een dictionary aangemaakt met de naam 'auto'
auto = {
    "merk": "Tesla",
    "model": "Model X",
    "jaar": 2015
}

# De value die hoort bij de key 'model' wordt geprint
print(auto["model"])

# De value bij de key 'model' wordt veranderd
auto["model"] = "Model S"

# De values binnen de dictionary worden stuk voor stuk geprint
for i in auto:
    print(auto[i])

Huiswerk voor deze tutorial

In deze praktische opdracht ga je een login-/registratiesysteem schrijven, zoals dit ook werkt op bijvoorbeeld websites. Dit houdt in dat de gebruiker kan registreren of inloggen. Als de gebruiker wilt inloggen, en het wachtwoord en het gekoppelde gebruikersnaam kloppen, wordt de gebruiker welkom geheten tot het platform.

Je krijgt van te voren toegang tot de volgende code:

# De dictionary gebruiker wordt aangemaakt
gebruiker = {
    "gebruikersnaam": "",
    "wachtwoord": ""
}

Als je het programma uitvoert, zou je de volgende resultaten kunnen krijgen:

Tips/extra informatie

Je kunt gebruik maken van vier functies:

  1. introductie() – kun je het programma mee introduceren;
  2. kiesEenOptie() – laat je de gebruiker een optie mee kiezen (d.w.z. inloggen of registreren)
  3. inloggen() – laat je de gebruiker mee inloggen. Er wordt gecontroleerd of de ingevoerde gebruikersnaam en het wachtwoord overeenkomen met de geregistreerde gebruikersnaam en het geregistreerde wachtwoord. Op basis hiervan wordt een juiste output gegeven.
  4. registreren() – kun je de gebruiker mee laten registreren. Hierbij voert de gebruiker een nieuwe gebruikersnaam en wachtwoord in.

Als de gebruiker een onjuist wachtwoord en/of gebruikersnaam invoert, moet worden vermeld dat dit het geval is. Vervolgens moet de gebruiker worden gevraagd een nieuwe optie in te voeren: registreren of inloggen. Dit is ook het geval wanneer de gebruiker nog niet heeft geregistreerd en de keuze maakt om in te loggen. Er is dan namelijk geen wachtwoord ingevoerd.

Oplossing van de huiswerkopdracht

# De dictionary gebruiker wordt aangemaakt
gebruiker = {
    "gebruikersnaam": "",
    "wachtwoord": ""
}

# De gebruiker wordt welkom geheten
def introductie():
    print("Welkom op jorcademy.nl!\n")
	
    kiesEenOptie()
	
# De gebruiker wordt gevraagd een keuze te maken: inloggen of registreren
def kiesEenOptie():
    optie = 0
	
    # De opties worden gegeven
    print("Uw opties zijn:")
    print("Inloggen (typ '1')")
    print("Registreren (typ '2')\n")
	
    # Er wordt naar input gevraagd
    optie = input("Kies een optie (1 of 2): ")
	
    # De optie van de gebruiker wordt verwerkt
    if optie == '1':
	if gebruiker["gebruikersnaam"] == "" and gebruiker["wachtwoord"] == "":
	    print("U heeft nog geen geldig account aangemaakt.\n")
	    kiesEenOptie()
	else:
	    inloggen(gebruiker["gebruikersnaam"], gebruiker["wachtwoord"])
	elif optie == '2':
	    print("\n")

	    registreren()
		
# De gebruiker wordt gevraagd in te loggen
def inloggen(gebruikersnaam, wachtwoord):
	
    # Er wordt gevraagd een gebruikersnaam en wachtwoord in te voeren
    ingevoerdeGebruikersnaam = input("Voer uw gebruikersnaam in: ")
    ingevoerdeWachtwoord = input("Voer uw wachtwoord in: ")
	
    """
    Er wordt gecontroleerd of de gebruikersnaam en het wachtwoord 
	overeenkomen met de geregistreerde gegevens
    """
    if str(gebruikersnaam) == str(ingevoerdeGebruikersnaam) and str(wachtwoord) == str(ingevoerdeWachtwoord):
        print("Welkom, " + gebruikersnaam + "!")
    else:
	print("Uw gebruikersnaam en/of wachtwoord is onjuist.\n")
		
	kiesEenOptie()
		
# De gebruiker wordt gevraagd te registreren
def registreren():
    print("Welkom bij de registratie van uw account.")
	
    # De ingevoerde gegevens worden opgeslagen in de dictionary
    gebruiker["gebruikersnaam"] = input("Voer een gebruikernaam in: ")
    gebruiker["wachtwoord"] = input("Voer een wachtwoord in: ")
	
    print("U bent succesvol geregistreerd.\n")
	
    kiesEenOptie()
	
introductie()