Open AlexandreVC opened 9 months ago
import requests import html import random
def get_questions(amount=20): # Défaut à 10 questions si non spécifié url = f"https://opentdb.com/api.php?amount={amount}" response = requests.get(url) questions = response.json()['results'] return [(html.unescape(q['question']), html.unescape(q['correct_answer']), [html.unescape(a) for a in q['incorrect_answers']]) for q in questions]
def quiz_game(): try: amount = int(input("Combien de questions souhaitez-vous? ")) except ValueError: print("Entrée invalide, nombre par défaut de 20 questions utilisé.") amount = 20 # Utilise une valeur par défaut si l'entrée n'est pas valide
questions = get_questions(amount)
score = 0
lives = 3
for i, (question, correct_answer, incorrect_answers) in enumerate(questions, 1):
print(f"\nQuestion {i}: {question}")
options = [correct_answer] + incorrect_answers
random.shuffle(options)
for idx, option in enumerate(options, 1):
print(f"{idx}: {option}")
try:
user_answer = int(input("Votre réponse (1-4): "))
if options[user_answer - 1] == correct_answer:
print("Correct!")
score += 1
else:
print(f"Mauvaise réponse! La bonne réponse était '{correct_answer}'.")
lives -= 1
print(f"Il vous reste {lives} vies")
if lives == 0:
print("\nVous n'avez plus de vies. Fin du jeu!")
break
except (ValueError, IndexError):
print("Entrée invalide. Veuillez entrer un nombre entre 1 et 4.")
print(f"\nVotre score : {score}/{len(questions)}")
if name == "main": quiz_game()
Merci pour la réponse. Est ce que tu peux faire une pull request s'il-te-plaît ?
Améliorer le jeu de quiz en permettant aux utilisateurs de choisir le nombre de questions qu'ils souhaitent tenter. Cela peut être réalisé en modifiant la fonction get_questions pour accepter un nombre défini par l'utilisateur au lieu d'une valeur fixe. Cette fonctionnalité rendra le jeu plus flexible et répondra à différentes préférences des utilisateurs.