INPUT pour un chiffre

Bonjour, je suis actuellement en TS spé ISN et je suis un peu perdu nous devons codé un programme j'ai écrit ceci mais sa ne fonctionne pas je croit que c'est a cause du input qui ne reconnait pas un nombre car a ma question précedente ou l'utilisateur doit répondre en chaine de caractère cela fonctionne.

def question2():
nombre = randint (2,9)
table = input("Quelle table de multiplication veux tu ?")
reponse = input("Combien font "+str(nombre)+""+str(table)+"?")
a = nombre*table
if reponse == str(a):
reponsejuste()

Le but de l'exercice est de crée un questionnaire avec 5 question et pour chaque bonne réponse 1 point s'ajoute a un compteur pour a la fin afficher le nombre de bonne réponse.
Je pense que c'est très mal expliquer mais je suis pas mal perdu ...
Merci d'avance !

1 réponse

  1. Modérateur
    Ceci sera plus cohérent, quoique hautement perfectible.
    import random
    def question2():
        nombre = random.randint (2,9)
        try:
            table = int(input("Quelle table de multiplication veux tu ?"))
        except:
            print("Bad input")
            return
        reponse = int(input("Combien font %d * %d" % (nombre, table)))
        
        a = nombre * table
        if reponse == a:
            reponsejuste()
    def reponsejuste():
        print("ok")
    
    question2()