”’
Uitleg voor de student:
Pas het onderstaanmde programma aan.
De 4 onderstaande functies moeten worden uitgewerkt.
Zoekfunctie:
De functie zoek_student() moet de gebruiker in staat stellen om een student op naam te zoeken
en de bijbehorende cijferinformatie weer te geven.
Gemiddelde berekenen:
De functie bereken_gemiddelde() moet het gemiddelde cijfer van alle studenten in de lijst
berekenen en weergeven.
Gegevens opslaan in bestand:
De functie sla_gegevens_op() moet de studentenlijst in een tekstbestand opslaan, zodat het
programma de gegevens tussen verschillende sessies kan behouden.
Gegevens laden uit bestand:
De functie laad_gegevens() moet de studentenlijst inleiden uit een bestand, zodat de
gegevens niet verloren gaan bij het afsluiten van het programma.
”’
import os
import csv
os.system(‘cls’)
Globale lijst om de studenten en hun cijfers op te slaan #
studenten = []
Functie om de lijst van studenten af te drukken #
def toon_studenten():
if len(studenten) == 0:
print(“Er zijn nog geen studenten toegevoegd.”)
else:
print(“Studentenlijst:”)
for student in studenten:
print(f”Naam: {student[‘naam’]}, Cijfer: {student[‘cijfer’]}”)
Functie om een student toe te voegen #
def voeg_student_toe():
naam = input(“Voer de naam van de student in: “)
cijfer = float(input(f”Voer het cijfer in voor {naam}: “))
studenten.append({“naam”: naam, “cijfer”: cijfer})
print(f”Student {naam} toegevoegd met cijfer {cijfer}”)
Functie om een student te verwijderen #
def verwijder_student():
naam = input(“Voer de naam in van de student die je wilt verwijderen: “)
for student in studenten:
if student[“naam”].lower() == naam.lower():
studenten.remove(student)
print(f”Student {naam} is verwijderd.”)
return
print(f”Student {naam} niet gevonden.”)
Functie om een student te zoeken op naam (student moet dit zelf toevoegen) #
def zoek_student():
# TODO: Implementeer deze functie. Laat de student zoeken naar een student op naam.
studentzoeken = input(‘welke gebruiker wilt u zoeken’)
for student in studenten:
if student[“naam”].lower() == studentzoeken.lower():
print(f”Naam: {student[‘naam’]}, Cijfer: {student[‘cijfer’]}”)
return
print(‘student zit niet in de lijst’)
Functie om het gemiddelde cijfer van alle studenten te berekenen (student moet dit zelf toevoegen) #
def bereken_gemiddelde():
# TODO: Implementeer deze functie. Bereken het gemiddelde cijfer van alle studenten.
alle_cijfers = sum(student["cijfer"] for student in studenten)
gemiddelde = alle_cijfers / len(studenten)
print(gemiddelde)
Functie om gegevens op te slaan in een bestand (student moet dit zelf toevoegen) #
def sla_gegevens_op():
# TODO: Implementeer deze functie. Sla de studentenlijst op in een tekstbestand.
with open(‘gebruikergegevens.csv’, ‘w’, newline=”) as file_object:
writer = csv.writer(file_object)
writer.writerow(studenten)
Functie om gegevens uit een bestand te laden (student moet dit zelf toevoegen) #
def laad_gegevens():
# TODO: Implementeer deze functie. Laad de studentenlijst uit een tekstbestand.
with open('gebruikergegevens.csv', 'r') as file_object:
bestands_regel = file_object.readlines()
print('-' * 75)
for line in bestands_regel:
print(line, end='')
Functie om het menu weer te geven #
def toon_menu():
print(“\n— Menu —“)
print(“1. Toon studenten”)
print(“2. Voeg een student toe”)
print(“3. Verwijder een student”)
print(“4. Zoek een student op naam”)
print(“5. Bereken het gemiddelde cijfer”)
print(“6. Sla gegevens op”)
print(“7. Laad gegevens”)
print(“8. Stop”)
Hoofdprogramma #
def main():
# Laad eventueel opgeslagen gegevens
while True:
toon_menu()
keuze = input("Maak een keuze (1-8): ")
if keuze == "1":
toon_studenten()
elif keuze == "2":
voeg_student_toe()
elif keuze == "3":
verwijder_student()
elif keuze == "4":
zoek_student()
elif keuze == "5":
bereken_gemiddelde()
elif keuze == "6":
sla_gegevens_op()
elif keuze == "7":
laad_gegevens()
elif keuze == "8":
print("Programma afgesloten.")
break
else:
print("Ongeldige keuze. Probeer het opnieuw.")
if name == “main“:
main()