summaryrefslogtreecommitdiff
path: root/ero1/src/demo/ask_variable.py
blob: f2f93301a187cf92c2447dbf70428d15fadd867c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from src.demo.print_demo import print_demo
import os

def ask_variable(question, answers):
    """
    Pose une question avec des réponses multiples et attend une réponse de l'utilisateur.
    Parameters:
        question : La question à afficher
        answers : Liste de tuples contenant (réponse, valeur)
    """
    print("")
    print_demo(f"{question}")
    for i, (answer_text, _) in enumerate(answers, 1):
        print_demo(f"{i}. {answer_text}", 1)
    
    while True:
        try:
            choice = input("\n⟩ Entrez le numéro de votre choix ou 'stop' pour arrêter : ")
            if choice == "stop":
                raise KeyboardInterrupt
            choice = int(choice)
            if 1 <= choice <= len(answers):
                return answers[choice - 1][1]
            print_demo(f"Insérez un nombre entre 1 et {len(answers)}", 1)
        except ValueError:
            print_demo(f"Insérez un nombre entre 1 et {len(answers)}", 1)