# struktura danych dla quizu / kwestionariusza
Struktura danych do quizu
Quiz zapisuję jako listę, bo chcę mieć wiele pytań.
Każde pytanie to słownik, który zawiera:
"pytanie": tekst pytania (string),"odpowiedzi": lista możliwych odpowiedzi (list),"poprawna": lista poprawnych odpowiedzi (też list, bo może być ich kilka).
Zalety takiego rozwiązania:
- mogę łatwo dodać nowe pytania,
- mogę przetasować pytania lub odpowiedzi (np. z
random.shuffle), - mogę mieć wiele poprawnych odpowiedzi,
- łatwo sięgnąć do konkretnego pytania – po indeksie listy,
- edytuję tylko jedno miejsce, jeśli coś trzeba zmienić.
Dlaczego nie krotki?
Bo krotki są niemodyfikowalne – nie mogłabym poprawiać treści ani odpowiedzi.
Dlaczego nie sam słownik?
Słowniki nie gwarantują kolejności – a dla quizu kolejność ma znaczenie (np. przy przetasowaniu).
Przykład struktury:
quiz = [
{
"pytanie": "Jakie są kolory flagi Polski?",
"odpowiedzi": ["biały", "czerwony", "zielony"],
"poprawna": ["biały", "czerwony"]
},
{
"pytanie": "Które z tych zwierząt to ssaki?",
"odpowiedzi": ["lew", "żaba", "wieloryb"],
"poprawna": ["lew", "wieloryb"]
}
]