AlexandreVC / Quizz_AlexandreVaianiCanon_CDOF3

MIT License
0 stars 0 forks source link

Implémenter un Nombre de Questions Dynamique #1

Open AlexandreVC opened 9 months ago

AlexandreVC commented 9 months ago

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.

lukfosse commented 8 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()

AlexandreVC commented 8 months ago

Merci pour la réponse. Est ce que tu peux faire une pull request s'il-te-plaît ?