Vous pouvez vous entraîner à apprendre à programmer en créant de courts projets de ligne de commande en Python. L'un des projets que vous pouvez réaliser est un quiz interactif, où vous pouvez poser à l'utilisateur différents types de questions.
Les questions que vous pouvez poser comprennent des questions à choix multiples ou des questions qui nécessitent des réponses écrites. Vous pouvez également poser des questions qui ont d'autres réponses correctes. Vous pouvez même faire en sorte que votre programme donne des conseils à l'utilisateur.
Comment créer le script Python et ajouter votre première question de quiz
Créez un fichier Python et ajoutez-y votre première question. Si vous n'avez jamais codé en Python auparavant, il existe de nombreux cours et ressources où vous pouvez apprendre Python gratuitement.
- Créez un nouveau fichier texte appelé "InteractiveQuiz.py".
- Ouvrez le fichier à l'aide de n'importe quel éditeur de texte et ajoutez votre première déclaration d'impression pour accueillir l'utilisateur dans le quiz.
imprimer("Bonjour, bienvenue au quiz de géographie. Répondez aux questions comme ils sont présentés.")
- Posez la première question à l'utilisateur. Utilisez la fonction input() pour attendre la réponse de l'utilisateur et stocker ses entrées dans la variable "userInput".
imprimer("Question 1. Quelle ville est la capitale de l'Australie ?")
userInput = entrée() - Ajoutez une condition pour vérifier si l'entrée de l'utilisateur correspond à la bonne réponse. Si l'utilisateur a répondu correctement, affichez-lui un message "correct". Sinon, affichez la bonne réponse.
si (userInput.lower() == "Canberra".plus bas()):
print("Cela est corriger!")
autre:
print("Désolé, la bonne réponse est Canberra.") - Pour exécuter votre quiz et tester que votre question fonctionne, ouvrez la ligne de commande et accédez à l'emplacement de votre fichier Python. Par exemple, si vous avez stocké votre fichier dans un répertoire nommé Desktop, la commande serait :
CD Bureau
- Exécutez la commande python pour exécuter le quiz.
pythonQuiz interactif.py
- Donnez une réponse à la question du quiz.
Comment ajouter plusieurs questions au quiz
Vous pouvez ajouter plusieurs questions en répétant le code ci-dessus. Cependant, cela rendra votre code inutilement long et plus difficile à mettre à jour. Pour une meilleure approche, stockez plutôt les informations sur la question dans un objet.
- En haut du fichier Python, ajoutez une classe pour stocker des informations sur une question de quiz. Si vous ne l'avez pas encore fait, vous pouvez en savoir plus sur la façon de créer une classe en Python.
classerQuestion:
définitivement__init__(soi, questionText, réponse):
soi.questionText = questionText
soi.réponse = réponsedéfinitivement__repr__(soi):
revenir '{'+ self.questionText +', '+ auto.réponse +'}' - Sous la classe, ajoutez un tableau d'objets question. Ces objets stockeront le texte de la question que le quiz affiche à l'utilisateur, ainsi que la bonne réponse.
quizQuestions = [
Question("Question 1. Quelle ville est la capitale de l'Australie", "Canberra"),
Question("Question 2. Quelle ville est la capitale du Japon", "Tokyo"),
Question("Question 3. Combien d'îles les Philippines ont-elles", "7100")
] - Remplacez l'instruction if existante et le code d'entrée utilisateur. Utilisez plutôt une boucle for pour itérer sur le tableau quizQuestions. Pour chaque question, affichez la question et comparez l'entrée de l'utilisateur avec la bonne réponse.
pour question dans quizQuestions :
impression (f"{question.questionText} ?")
userInput = entrée()
si (userInput.lower() == question.answer.lower()):
print("Cela est corriger!")
autre:
print (f"Désolé, la bonne réponse est {Question Réponse}.")
Comment ajouter des questions à choix multiples
Vous pouvez développer la classe Question pour accueillir des questions à choix multiples.
- Modifiez la classe Question en haut du fichier. Ajoutez un attribut facultatif appelé multipleChoiceOptions.
classerQuestion:
définitivement__init__(self, questionText, answer, multipleChoiceOptions=None):
soi.questionText = questionText
soi.réponse = réponse
soi.multipleChoiceOptions = multipleChoiceOptionsdéfinitivement__repr__(soi):
revenir '{'+ self.questionText +', '+ auto.réponse +', '+ chaîne (self.multipleChoiceOptions) +'}' - Ajoutez une autre question au tableau quizQuestions. Stockez des options à choix multiples pour la question.
quizQuestions = [
Question("Question 1. Quelle ville est la capitale de l'Australie", "Canberra"),
Question("Question 2. Quelle ville est la capitale du Japon", "Tokyo"),
Question("Question 3. Combien d'îles les Philippines ont-elles", "7100"),
Question("Question 4. Quel pays prend le plus de masse terrestre", "b", ["(a) États-Unis", "(b) Russie", "c) Australie", "(d) Antarctique"]),
] - Modifiez la partie de la boucle for qui affiche la question à l'utilisateur. Si des options à choix multiples existent pour la question, affichez-les après la question et avant de récupérer l'entrée de l'utilisateur.
pour question dans quizQuestions :
si (question.multipleChoiceOptions != Aucun):
impression (f"{question.questionText} ?")
pouroptiondansquestion.multipleChoiceOptions:
imprimer(option)
userInput = entrée()
autre:
impression (f"{question.questionText} ?")
userInput = entrée()si (userInput.lower() == question.answer.lower()):
print("Cela est corriger!")
autre:
print (f"Désolé, la bonne réponse est {Question Réponse}.")
Comment ajouter une question qui a d'autres réponses correctes
Parfois, il y a des questions où l'utilisateur peut taper une partie de la réponse, mais c'est techniquement toujours correct.
Par exemple, l'une des questions de votre quiz pourrait être "Dans quel hémisphère se trouve le Japon ?". Dans ce cas, l'utilisateur peut taper "Nord", "Nord" ou "Hémisphère Nord", et toujours être correct.
- Ajoutez un autre attribut facultatif à la classe Question. Cet attribut contiendra toutes les réponses correctes alternatives possibles que l'utilisateur peut saisir.
classerQuestion:
définitivement__init__(self, questionText, answer, multipleChoiceOptions=None, alternateAnswers=None):
soi.questionText = questionText
soi.réponse = réponse
soi.multipleChoiceOptions = multipleChoiceOptions
soi.alternateAnswers = alternateAnswersdéfinitivement__repr__(soi):
revenir '{'+ self.questionText +', '+ auto.réponse +', '+ chaîne (self.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}' - Ajoutez une autre question au tableau quizQuestions. Ajoutez "Hémisphère Nord" comme bonne réponse. Ajoutez « nord » et « nord » comme réponses correctes alternatives.
quizQuestions = [
#...
Question("Question 5. Dans quel hémisphère se trouve le Japon", "Hémisphère nord", [], ["Nord", "nord"]),
] - Ajoutez une autre condition à l'instruction if qui vérifie si l'utilisateur a saisi une autre réponse correcte.
si (userInput.lower() == question.answer.lower()):
print("Cela est corriger!")
elif (question.alternateAnswers != Aucunet userInput.inférieur() dans question.alternateAnswers):
print("Cela est corriger!")
autre:
print (f"Désolé, la bonne réponse est {Question Réponse}.")
Comment donner des conseils à l'utilisateur
Vous pouvez modifier le script afin que l'utilisateur ne puisse pas passer à l'étape suivante tant qu'il n'a pas répondu correctement à la question actuelle. Dans ce cas, ajoutez une variable pour compter combien de fois l'utilisateur a saisi une mauvaise réponse. Après trois suppositions incorrectes, vous pouvez donner un indice à l'utilisateur.
- Modifiez la classe Question pour utiliser un nouvel attribut d'indice.
classerQuestion:
définitivement__init__(self, questionText, answer, hint=None, multipleChoiceOptions=None, alternateAnswers=None):
soi.questionText = questionText
soi.réponse = réponse
soi.hint = indice
soi.multipleChoiceOptions = multipleChoiceOptions
soi.alternateAnswers = alternateAnswersdéfinitivement__repr__(soi):
revenir '{'+ self.questionText +', '+ auto.réponse +', '+ auto.indice +', '+ chaîne (self.multipleChoiceOptions) +', '+ str (self.alternateAnswers) +'}' - Ajoutez des indices à toutes les questions du quiz.
quizQuestions = [
Question("Question 1. Quelle ville est la capitale de l'Australie", "Canberra", "Commence par un C"),
Question("Question 2. Quelle ville est la capitale du Japon", "Tokyo", "Commence par un T"),
Question("Question 3. Combien d'îles les Philippines ont-elles", "7100", "Un nombre entre 7000 et 8000"),
Question("Question 4. Quel pays prend le plus de masse terrestre", "b", "Le pays s'étend sur deux continents", ["(a) États-Unis", "(b) Russie", "c) Australie", "(d) Antarctique"]),
Question("Question 5. Dans quel hémisphère se trouve le Japon", "Hémisphère nord", "La moitié supérieure de la Terre", [], ["Nord", "nord"]),
] - Supprimez les instructions if qui vérifient si l'utilisateur a répondu correctement à la question. Remplacez-les par une boucle while. La boucle while bouclera en continu jusqu'à ce que l'utilisateur obtienne la bonne réponse. À l'intérieur de la boucle while, ajoutez un décompte qui affichera l'indice une fois que l'utilisateur se sera trompé de réponse trois fois.
pour question dans quizQuestions :
si (question.multipleChoiceOptions != Aucun):
impression (f"{question.questionText} ?")
pouroptiondansquestion.multipleChoiceOptions:
imprimer(option)
userInput = entrée()
autre:
impression (f"{question.questionText} ?")
userInput = entrée()
compter = 0
tandis que (userInput.lower() != question.réponse.lower()):
si (question.alternateAnswers != Aucunet userInput.inférieur() dans question.alternateAnswers):
Pause;
compter = compter + 1
si (compter >= 3):
impression (f"Indice: {question.indice}.")
userInput = entrée()
autre:
print("Cela estne pas corriger, essayer encore.")
userInput = entrée()print("Cela est corriger!")
- Réexécutez votre quiz dans la ligne de commande à l'aide de la commande python.
pythonQuiz interactif.py
- Répondez aux questions du quiz.
Création de petites applications à l'aide de Python
L'un des projets que vous pouvez réaliser en apprenant à coder en Python est un quiz interactif. Dans le quiz, vous pouvez présenter différents types de questions à l'utilisateur.
Vous pouvez stocker des informations sur les questions du quiz dans un objet, pour vous éviter de répéter votre code pour chaque question.
Pour améliorer vos compétences en Python, c'est une bonne idée de pratiquer différents exercices et exemples. Vous pouvez consulter d'autres exemples Python qui peuvent vous aider à apprendre.