# 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"]
    }
]