INPUT pour un chiffre

saogine76 Messages postés 120 Statut Membre -  
jisisv Messages postés 3678 Statut Modérateur -
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. jisisv Messages postés 3678 Statut Modérateur 936
     
    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()


    0