24 ⭐ Quiz Game 💯

Obiettivi di apprendimento:

  • Creare e gestire una struttura dati per le domande (List di Tuple o List di Dizionari).
  • Utilizzare i cicli for per iterare sulle domande.
  • Gestire l'input dell'utente e confrontarlo con la risposta corretta.
  • Mantenere un punteggio e fornire un feedback finale.

Programma Esempio:

Questo programma utilizza una Lista di Tuple per memorizzare ogni domanda. Ogni tupla contiene: (domanda, risposta_corretta).

def quiz_game():
    print("💯 BENVENUTO NEL QUIZ PYTHON! 💯")

    # Lista di tuple: (Domanda, Risposta Corretta)
    domande = [
        ("Qual è la funzione usata per stampare output a console?", "print"),
        ("Quale simbolo viene usato per commentare una riga in Python?", "#"),
        ("Quale struttura dati è immutabile tra List e Tuple?", "Tuple"),
        ("Quanti bit compongono un byte?", "8"),
        ("L'operatore ** è usato per quale operazione matematica?", "potenza")
    ]

    punteggio = 0

    print(f"\nNumero di domande: {len(domande)}")

    # Ciclo for per iterare su tutte le domande
    for domanda, risposta_corretta in domande:
        print("\n" + "="*40)
        print(f"Domanda: {domanda}")

        # Converte l'input in minuscolo e rimuove spazi bianchi per un confronto più tollerante
        risposta_utente = input("La tua risposta: ").lower().strip()

        # Converte la risposta corretta per il confronto
        risposta_attesa = risposta_corretta.lower().strip()

        if risposta_utente == risposta_attesa:
            print("✅ Corretto!")
            punteggio += 1
        else:
            print(f"❌ Errato! La risposta corretta era: {risposta_corretta}")

    # Feedback finale
    print("\n" + "="*40)
    print("FINITO!")
    print(f"Hai totalizzato {punteggio} risposte corrette su {len(domande)}.")

    percentuale = (punteggio / len(domande)) * 100
    if percentuale >= 80:
        valutazione = "Eccellente! 🌟"
    elif percentuale >= 50:
        valutazione = "Buono! 👍"
    else:
        valutazione = "Dovresti ripassare. 📚"

    print(f"Percentuale di successo: {percentuale:.1f}% ({valutazione})")

# quiz_game()