Problème programme python en terminale S spé ISN
saogine76
Messages postés
90
Date d'inscription
Statut
Membre
Dernière intervention
-
saogine76 Messages postés 90 Date d'inscription Statut Membre Dernière intervention -
saogine76 Messages postés 90 Date d'inscription Statut Membre Dernière intervention -
Bonjour, Je suis en Terminale S spé ISN et dans cette spé nous devons ( par groupe de deux ) codé un programme en langage python qui répond à ses critères :
- Utiliser les listes pour réaliser le projet
- Elaborer 5 questions successives mélangeant les réponses chiffrée ( nombre ) et écrites (chaine de caractère )
- 1 question doit porter sur les table de multiplication, vous devrez laisser la possibilité a l'expérimentateur de choisir sa table en ( en excluant 1 et 10)
- 1 question sur les capitales de pays, vous devrez accepter toute réponses ( avec ou sans majuscule )
- Donner a la fin du programme le clairement le nombres de bonnes réponses
- Afin que deux personnes utilisant votre programme côte à côte n'aient pas le même énoncé, rendre aléatoire l'ordre des 5 questions.
Voici notre programme :
Donc notre problème vient de la derniere partie ( a partir de else ) souligée ( je crois ) car les questions se lance a l'infini et nous n'avons pas trouvé de solution a ce problème.
Si vous avez des idées pour résoudre ce problème nous sommes preneurs ( même des idées pour améliorer le programme en général.
Nous sommes conscient du fait que notre programme n'exclue pas la table de 1 et 10 ( nous comptons le réglé plus tard )
(on va aussi changer la question 4 ^^)
Nous sollicitons donc principalement votre aides pour la partie "else" qui doit normalement lancé les 5 questions dans un ordre aléatoire sans les répétées.
Voila tout merci d'avance pour votre aide ! :)
- Utiliser les listes pour réaliser le projet
- Elaborer 5 questions successives mélangeant les réponses chiffrée ( nombre ) et écrites (chaine de caractère )
- 1 question doit porter sur les table de multiplication, vous devrez laisser la possibilité a l'expérimentateur de choisir sa table en ( en excluant 1 et 10)
- 1 question sur les capitales de pays, vous devrez accepter toute réponses ( avec ou sans majuscule )
- Donner a la fin du programme le clairement le nombres de bonnes réponses
- Afin que deux personnes utilisant votre programme côte à côte n'aient pas le même énoncé, rendre aléatoire l'ordre des 5 questions.
Voici notre programme :
from random import* def reponsejuste(): global compteur compteur = compteur+1 def question1(): pays = ["de la france","de l'espagne","de l'italie","de l'allemagne","du chili"] capitales= ["paris","madrid","rome","berlin","santiago"] nombre = randint (0,len(pays)-1) reponse = input("Quelle est la capitale "+pays[nombre]+"?") if reponse.lower() == capitales[nombre]: reponsejuste() def question2(): nombre = randint (2,9) table = int(input("Quelle table de multiplication veux tu ?")) reponse = int(input("Combien font "+str(nombre)+"*"+str(table)+"?")) if reponse == (nombre*table): reponsejuste() def question3(): reponse = input("En quelle annnée a été crée Apple ?") if reponse == "1976": reponsejuste() def question4(): reponse = input("Quel est la hauteur de la Tour Eifel ?(en metres)") if reponse == "300": reponsejuste() def question5(): monument = ["de la Tour Eifel","de la Statue de la libertée","du Big Ben","de la Tour de pise","du Taj Mahal"] hauteur= [300,93,96,57,73] nombre = randint (0,len(monument)-1) reponse = int(input("Quelle est la hauteur" + monument[nombre] + " ( a plus ou moins 10 mètre ) ?")) if hauteur[nombre]-10 < reponse < hauteur[nombre]+10: reponsejuste() compteur = 0 question_tombees = [] liste_question = [question1, question2, question3, question4, question5] for nombre_questions in range(5): ordre_question =randint(0,len(liste_question)-1) if not ordre_question in question_tombees: question_tombees.append(ordre_question) liste_question[ordre_question]() else: while ordre_question in question_tombees: ordre_question = randint(0,len(liste_question)-1) question_tombees.append(ordre_question) liste_question[ordre_question]() print("Tu as "+str(compteur)+" bonne(s) réponse(s)")
Donc notre problème vient de la derniere partie ( a partir de else ) souligée ( je crois ) car les questions se lance a l'infini et nous n'avons pas trouvé de solution a ce problème.
Si vous avez des idées pour résoudre ce problème nous sommes preneurs ( même des idées pour améliorer le programme en général.
Nous sommes conscient du fait que notre programme n'exclue pas la table de 1 et 10 ( nous comptons le réglé plus tard )
(on va aussi changer la question 4 ^^)
Nous sollicitons donc principalement votre aides pour la partie "else" qui doit normalement lancé les 5 questions dans un ordre aléatoire sans les répétées.
Voila tout merci d'avance pour votre aide ! :)
A voir également:
- Problème programme python en terminale S spé ISN
- Citizen code python avis - Accueil - Outils
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Toutes les formules mathématiques terminale pdf - Télécharger - Études & Formations
- Ce programme est écrit en python compléter le ✓ - Forum Python