Kwestionariusz z obsługą pliku json

Kwestionariusz z obsługą pliku json
Photo by Scott Graham / Unsplash
import random
import os
import json

imie_uzytkownika = input("Wprowadz swoje imie: ")
print(f"Witaj,  {imie_uzytkownika}.")
print("Tylko jedna odpowiedź w każdym z pytań jest poprawna.")
print("Zła odpowiedź odejmuje 0.5 pkt")

kwestionariusz = {
    "Jak węże 'czują' zapachy?": [
        ("Nie czują", -0.5),
        ("Nosem", -0.5),
        ("Językiem", 1)
    ],
    "Jaki wąż jest najdłuższy?": [
        ("Pyton siatkowy", 1),
        ("Kobra", -0.5),
        ("Pyton królewski", -0.5)
    ],
    "Jak nazywa się planeta, na której żyjemy?":[
        ("Mars", -0.5),
        ("Ziemia", 1),
        ("Wenus", -0.5)
    ],
    "Język urzędowy Szwajcarii to:":[
        ("polski", -0.5),
        ("niemiecki", 1),
        ("francuski", 1)
    ],
    "Jaka jest waluta Polski?": [
        ("euro", -0.5),
        ("dolar", -0.5),
        ("złoty", 1)
    ],
    "Czym zajmuje się straż pożarna?": [
        ("Leczeniem ludzi", -0.5),
        ("Gaszeniem pożarów", 1),
        ("Naprawą samochodów", -0.5)
    ],
    "Ile godzin ma doba": [
        ("24", 1),
        ("12", -0.5),
        ("48", -0.5)
    ],
    "Który kontynent jest największy pod względem powierzchni?": [
        ("Afryka", -0.5),
        ("Azja", 1),
        ("Ameryka Północna", -0.5)
    ],
    "Który owoc ma najwięcej witaminy C?": [
        ("Jabłko", -0.5),
        ("Pomarańcza", 1),
        ("Banan", -0.5)
    ],
    "Ile nóg ma pająk?": [
        ("8", 1),
        ("6", -0.5),
        ("10", -0.5)
    ],
    "Autor książki W pustyni i w puszczy to:": [
        ("Juliusz Słowacki", -0.5),
        ("Adam Mickiewicz", -0.5),
        ("Henryk Sienkiewicz", 1)
    ],
    "Jak nazywa się najdłuższa rzeka świata?": [
        ("Amazonka", 1),
        ("Nil", -0.5),
        ("Wisła", -0.5)
    ]
}

if os.path.exists("kwestionariusz.json"):
    with open("kwestionariusz.json", "r", encoding="utf-8") as plik_json:
        kwestionariusz = json.load(plik_json)
else:
    with open("kwestionariusz.json", "w", encoding="utf-8") as plik_json:
        json.dump(
            kwestionariusz,
            plik_json,
            indent=4,
            ensure_ascii=False
        )

punkty = 0

for pytanie, odpowiedzi in kwestionariusz.items():
    print(pytanie)
    random.shuffle(odpowiedzi)
    for indeks, odpowiedz in enumerate(odpowiedzi, start=1):
        print(indeks, ". ", odpowiedz[0])
    wybor_gracza = input("Odpowiedź: ")

    while wybor_gracza not in ("1", "2", "3"):
        print("Zły numer odpowiedzi. Wprowadź odp z zakresu 1-3")
        wybor_gracza = input("Odpowiedź: ")

    indeks_odp = int(wybor_gracza)-1
    punkty += odpowiedzi[indeks_odp][1]
    print("Twoja liczba punktów to: ", punkty)