Puoi esercitarti a imparare a programmare creando brevi progetti da riga di comando in Python. Uno dei progetti che puoi realizzare è un quiz interattivo, in cui puoi porre all'utente diversi tipi di domande.

Le domande che puoi porre includono domande a scelta multipla o domande che richiedono risposte scritte. Puoi anche porre domande con risposte corrette alternative. Puoi anche fare in modo che il tuo programma dia suggerimenti all'utente.

Come creare lo script Python e aggiungere la tua prima domanda al quiz

Crea un file Python e aggiungi la tua prima domanda. Se non hai codificato in Python prima, ci sono molti corsi e risorse là fuori dove puoi impara Python gratuitamente.

  1. Crea un nuovo file di testo chiamato "InteractiveQuiz.py".
  2. Apri il file utilizzando qualsiasi editor di testo e aggiungi la tua prima dichiarazione di stampa per dare il benvenuto all'utente al quiz.
    Stampa("Ciao, benvenuto al quiz di geografia. Rispondi alle domande come sono presentati.")
  3. Porre la prima domanda all'utente. Utilizzare la funzione input() per attendere la risposta dell'utente e memorizzare l'input nella variabile "userInput".
    instagram viewer
    Stampa("Domanda 1. Quale città è la capitale dell'Australia?")
    userInput = input()
  4. Aggiungi una condizione per verificare se l'input dell'utente corrisponde alla risposta corretta. Se l'utente ha risposto correttamente, mostragli un messaggio "corretto". In caso contrario, visualizzare la risposta corretta.
    if (userInput.lower() == "Canberra".minore()):
    print("Quello è corretta!")
    altro:
    print("Spiacente, la risposta corretta è Canberra.")
  5. Per eseguire il tuo quiz e verificare che la tua domanda funzioni, apri la riga di comando e vai alla posizione del tuo file Python. Ad esempio, se hai archiviato il tuo file in una directory denominata Desktop, il comando sarebbe:
    CD Desktop
  6. Esegui il comando python per eseguire il quiz.
    pitoneQuiz interattivo.py
  7. Fornisci una risposta alla domanda del quiz.

Come aggiungere più domande al quiz

Puoi aggiungere diverse domande ripetendo il codice sopra. Tuttavia, questo renderà il tuo codice inutilmente lungo e più difficile da aggiornare. Per un approccio migliore, archivia invece le informazioni sulla domanda in un oggetto.

  1. Nella parte superiore del file Python, aggiungi una classe per memorizzare le informazioni su una domanda del quiz. Se non l'hai mai fatto prima, puoi saperne di più su come farlo creare una classe in Python.
    classeDomanda:
    def__dentro__(auto, testo della domanda, risposta):
    se stesso.questionText = questionText
    se stesso.risposta = risposta

    def__repr__(se stesso):
    Restituzione '{'+ self.questionText +', '+ auto.risposta +'}'

  2. Sotto la classe, aggiungi una matrice di oggetti domanda. Questi oggetti memorizzeranno il testo della domanda che il quiz mostra all'utente, insieme alla risposta corretta.
    quizDomande = [
    Domanda("Domanda 1. Quale città è la capitale dell'Australia", "Canberra"),
    Domanda("Domanda 2. Quale città è la capitale del Giappone", "Tokio"),
    Domanda("Domanda 3. Quante isole hanno le Filippine", "7100")
    ]
  3. Sostituire l'istruzione if esistente e il codice di input dell'utente. Utilizzare invece un ciclo for per scorrere l'array quizQuestions. Per ogni domanda, visualizza la domanda e confronta l'input dell'utente con la risposta corretta.
    per domande nel quizDomande:
    stampare (f"{question.questionText}?")
    userInput = input()
    if (userInput.lower() == question.answer.lower()):
    print("Quello è corretta!")
    altro:
    print (f"Spiacente, la risposta corretta è {domanda risposta}.")

Come aggiungere domande a scelta multipla

Puoi espandere la classe Domanda per accogliere domande a scelta multipla.

  1. Modifica la classe Domanda nella parte superiore del file. Aggiungi un attributo facoltativo chiamato multipleChoiceOptions.
    classeDomanda:
    def__dentro__(self, questionText, answer, multipleChoiceOptions=Nessuno):
    se stesso.questionText = questionText
    se stesso.risposta = risposta
    se stesso.multipleChoiceOptions = multipleChoiceOptions

    def__repr__(se stesso):
    Restituzione '{'+ self.questionText +', '+ auto.risposta +', '+ str (self.multipleChoiceOptions) +'}'

  2. Aggiungi un'altra domanda all'array quizQuestions. Memorizza alcune opzioni a scelta multipla per la domanda.
    quizDomande = [
    Domanda("Domanda 1. Quale città è la capitale dell'Australia", "Canberra"),
    Domanda("Domanda 2. Quale città è la capitale del Giappone", "Tokio"),
    Domanda("Domanda 3. Quante isole hanno le Filippine", "7100"),
    Domanda("Domanda 4. Quale paese occupa più terra", "b", ["(a) Stati Uniti", "(b) Russia", "(c) Australia", "(d) Antartide"]),
    ]
  3. Modifica la parte del ciclo for che mostra la domanda all'utente. Se esistono opzioni a scelta multipla per la domanda, visualizzale dopo la domanda e prima di recuperare l'input dell'utente.
    per domande nel quizDomande:
    Se (question.multipleChoiceOptions!= Nessuno):
    stampare (f"{question.questionText}?")
    peropzioneindomanda.Multiple ChoiceOptions:
    Stampa(opzione)
    userInput = input()
    altro:
    stampare (f"{question.questionText}?")
    userInput = input()

    if (userInput.lower() == question.answer.lower()):
    print("Quello è corretta!")
    altro:
    print (f"Spiacente, la risposta corretta è {domanda risposta}.")

Come aggiungere una domanda che ha risposte corrette alternative

A volte ci sono domande in cui l'utente può digitare parte della risposta, ma tecnicamente è ancora corretta.

Ad esempio, una delle domande del tuo quiz potrebbe essere "In quale emisfero si trova il Giappone?". In questo caso, l'utente può digitare "Nord", "Nord" o "Emisfero settentrionale" ed essere corretto.

  1. Aggiungi un altro attributo facoltativo alla classe Question. Questo attributo conterrà tutte le possibili risposte corrette alternative che l'utente può inserire.
    classeDomanda:
    def__dentro__(self, questionText, answer, multipleChoiceOptions=Nessuno, alternativeAnswers=None):
    se stesso.questionText = questionText
    se stesso.risposta = risposta
    se stesso.multipleChoiceOptions = multipleChoiceOptions
    se stesso.alternateAnswers = alternativeAnswers

    def__repr__(se stesso):
    Restituzione '{'+ self.questionText +', '+ auto.risposta +', '+ str (self.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}'

  2. Aggiungi un'altra domanda all'array quizQuestions. Aggiungi "Emisfero settentrionale" come risposta corretta. Aggiungi "nord" e "nord" come risposte corrette alternative.
    quizDomande = [
    #...
    Domanda("Domanda 5. In che emisfero si trova il Giappone", "Emisfero nord", [], ["nord", "settentrionale"]),
    ]
  3. Aggiungi un'altra condizione all'istruzione if che verifica se l'utente ha inserito una risposta corretta alternativa.
    if (userInput.lower() == question.answer.lower()):
    print("Quello è corretta!")
    elif (domanda.risposte alternative!= Nessunoe userInput.lower() in question.alternateAnswers):
    print("Quello è corretta!")
    altro:
    print (f"Spiacente, la risposta corretta è {domanda risposta}.")

Come dare suggerimenti all'utente

È possibile modificare lo script in modo che l'utente non sia in grado di passare alla fase successiva finché non ottiene la domanda corrente corretta. In questo caso, aggiungi una variabile per contare quante volte l'utente ha inserito una risposta sbagliata. Dopo tre ipotesi errate, puoi dare un suggerimento all'utente.

  1. Modificare la classe Question per utilizzare un nuovo attributo suggerimento.
    classeDomanda:
    def__dentro__(self, questionText, answer, hint=None, multipleChoiceOptions=None, alternativeAnswers=None):
    se stesso.questionText = questionText
    se stesso.risposta = risposta
    se stesso.suggerimento = suggerimento
    se stesso.multipleChoiceOptions = multipleChoiceOptions
    se stesso.alternateAnswers = alternativeAnswers

    def__repr__(se stesso):
    Restituzione '{'+ self.questionText +', '+ auto.risposta +', '+ auto.suggerimento +', '+ str (self.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}'

  2. Aggiungi suggerimenti a tutte le domande del quiz.
    quizDomande = [
    Domanda("Domanda 1. Quale città è la capitale dell'Australia", "Canberra", "Inizia con una C"),
    Domanda("Domanda 2. Quale città è la capitale del Giappone", "Tokio", "Inizia con una T"),
    Domanda("Domanda 3. Quante isole hanno le Filippine", "7100", "Un numero compreso tra 7000 e 8000"),
    Domanda("Domanda 4. Quale paese occupa più terra", "b", "Il paese abbraccia due continenti", ["(a) Stati Uniti", "(b) Russia", "(c) Australia", "(d) Antartide"]),
    Domanda("Domanda 5. In che emisfero si trova il Giappone", "Emisfero nord", "La metà superiore della Terra", [], ["nord", "settentrionale"]),
    ]
  3. Rimuovere le istruzioni if ​​che controllano se l'utente ha risposto correttamente alla domanda. Sostituiscili con un ciclo while. Il ciclo while si ripeterà continuamente finché l'utente non ottiene la risposta corretta. All'interno del ciclo while, aggiungi un conteggio che visualizzerà il suggerimento una volta che l'utente avrà sbagliato tre volte la risposta.
    per domande nel quizDomande:
    Se (question.multipleChoiceOptions!= Nessuno):
    stampare (f"{question.questionText}?")
    peropzioneindomanda.Multiple ChoiceOptions:
    Stampa(opzione)
    userInput = input()
    altro:
    stampare (f"{question.questionText}?")
    userInput = input()
    conteggio = 0
    mentre (userInput.lower() != question.answer.lower()):
    Se (domanda.risposte alternative!= Nessunoe userInput.lower() in question.alternateAnswers):
    rompere;
    contare = contare + 1
    se (contare >= 3):
    stampare (f"Suggerimento: {question.hint}.")
    userInput = input()
    altro:
    print("Quello ènon corretta, Tentativo ancora.")
    userInput = input()

    print("Quello è corretta!")

  4. Riesegui il tuo quiz nella riga di comando usando il comando python.
    pitoneQuiz interattivo.py
  5. Rispondi alle domande del quiz.

Creazione di piccole applicazioni utilizzando Python

Uno dei progetti che puoi realizzare mentre impari a programmare in Python è un quiz interattivo. Nel quiz, puoi presentare diversi tipi di domande all'utente.

È possibile memorizzare informazioni sulle domande del quiz in un oggetto, per evitare di ripetere il codice per ogni domanda.

Per migliorare le tue abilità in Python, è una buona idea praticare diversi esercizi ed esempi. Puoi dare un'occhiata ad altri esempi di Python che possono aiutarti a imparare.