Thomass04
Messages postés2Date d'inscriptionmardi 23 mai 2017StatutMembreDernière intervention23 mai 2017
-
Modifié le 23 mai 2017 à 10:35
Felice_
Messages postés265Date d'inscriptionmardi 25 avril 2017StatutMembreDernière intervention20 juillet 2017
-
23 mai 2017 à 13:13
Bonjour,
Je suis en terminale S spé ISN et j'ai décider de faire un programme "générateur de calcul mental" comme projet.
Je voulais avoir votre avis sur les amélioration possibles
Merci
Le programme :
#**********Import**********#
from random import *
from random import choice
import time
from math import *
from math import sqrt
from fractions import Fraction
#********Definition des fonctions********#
def vrai():
t=randrange(0,6)
bon=["Bravo", "Félicitations !", "Fantastique !", "C'est la bonne réponce !", "Exactement !", "Parfait !"]
print(bon[t])
def faux():
t=randrange(0,6)
mauvais=["Faux", "C'est la mauvaise réponce", "Incorrect", "Ce n'est pas le résultat attendu", "Oups, tu t'es trompé.", "Non !"]
print(mauvais[t])
#**********Boucle principale**********#
score=0
print("Bonjour, bienvenue dans ce générateur de calcul mental.")
print("En quel classe êtes vous ? (Sixième = 6, Cinquième = 5 ... Première = 1)")
try:
classe=int(input("Je suis en "))
if classe==6: #************SIXIEME************#
print("C'est parti!")
print("Commençons par des additions")
debut = time.time()
print("")
a=randrange(1,10) #addition
b=randrange(1,10)
c=a+b
print(a, "+", b, end=" ")
try:
resultat=int(input("= "))
if resultat==c:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",c)
except:
faux()
print("Le bon résultat était",c)
print("")
a=randrange(1,10) #addition
b=randrange(1,100)
c=a+b
print(a, "+", b, end=" ")
try:
resultat=int(input("= "))
if resultat==c:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",c)
except:
faux()
print("Le bon résultat était",c)
print("")
a=randrange(1,100) #addition
b=randrange(1,100)
c=a+b
print(a, "+", b, end=" ")
try:
resultat=int(input("= "))
if resultat==c:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",c)
except:
faux()
print("Le bon résultat était",c)
print("")
a=randrange(1,10) #soustraction
b=randrange(1,100)
c=a+b
print(c, "-", a, end=" ")
try:
resultat=int(input("= "))
if resultat==b:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",b)
except:
faux()
print("Le bon résultat était",b)
print("")
a=randrange(1,10) #soustraction
b=randrange(1,10)
c=a+b
print(c, "-", a, end=" ")
try:
resultat=int(input("= "))
if resultat==b:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",b)
except:
faux()
print("Le bon résultat était",b)
print("Tu as fait la moitié !")
print("")
a=randrange(1,100) #soustraction
b=randrange(1,100)
c=a+b
print(c, "-", a, end=" ")
try:
resultat=int(input("= "))
if resultat==b:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",b)
except:
faux()
print("Le bon résultat était",b)
print("")
a=randrange(1,10) #multiplication
b=randrange(1,5)
c=a*b
print(a, "*", b, end=" ")
try:
resultat=int(input("= "))
if resultat==c:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",c)
except:
faux()
print("Le bon résultat était",c)
print("")
a=randrange(1,10) #multiplication
b=randrange(1,10)
c=a*b
print(a, "*", b, end=" ")
try:
resultat=int(input("= "))
if resultat==c:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",c)
except:
faux()
print("Le bon résultat était",c)
print("")
a=randrange(1,10) #division
b=randrange(1,5)
c=a*b
print(c, "/", a, end=" ")
try:
resultat=int(input("= "))
if resultat==b:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",b)
except:
faux()
print("Le bon résultat était",b)
print("")
a=randrange(1,10) #division
b=randrange(1,10)
c=a*b
print(c, "/", a, end=" ")
try:
resultat=int(input("= "))
if resultat==b:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",b)
except:
faux()
print("Le bon résultat était",b)
print("")
print("C'est fini !")
fin = time.time() #Temps
temps=fin-debut
time=ceil(temps)
tiempo=time
if time<60: #Affichage du temps
print("Tu as pris", time, "secondes")
else :
hora=0
while time>=60:
time=time-60
hora=hora+1
print("Tu as pris", hora, "minute(s) et", time, "seconde(s)")
if tiempo>180: #Perte de points si plus de 3 minutes
tiempo=tiempo-180
tiempo=tiempo/15
tiempo=ceil(tiempo)
score=score-tiempo
print("Tu as pris plus de 3 minutes tu a donc perdu des points")
print("Ton score est de :", score, "/10") #Affichage du score et de l'appréciation
if score==10:
print("parfait !")
if score==9:
print("Presque parfait !")
if score==8:
print("Encore un petit effort !")
if score==7:
print("C'est une bonne note tu y est presque")
if score==6:
print("Plus de la moyenne, peut faire mieux. ")
if score==5:
print("La moyenne, tu peut faire mieux!")
if score==4:
print("Dommage c'est presque la moyenne")
if score==3:
print("Révise plus et tu y arrivera !")
if score<3:
print("Va falloir réviser...")
if classe==5: #************CINQUIEME************#
print("C'est parti !")
debut = time.time()
print("")
a=randrange(1,100) #addition
b=randrange(1,1000)
c=a+b
print(a, "+", b, end=" ")
try:
resultat=int(input("= "))
if resultat==c:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",c)
except:
faux()
print("Le bon résultat était",c)
print("")
a=randrange(1,100) #soustraction
b=randrange(1,100)
c=a+b
print(c, "-", a, end=" ")
try:
resultat=int(input("= "))
if resultat==b:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",b)
except:
faux()
print("Le bon résultat était",b)
print("")
a=randrange(1,10) #multiplication
b=randrange(1,10)
c=a*b
print(a, "*", b, end=" ")
try:
resultat=int(input("= "))
if resultat==c:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",c)
except:
faux()
print("Le bon résultat était",c)
print("")
a=randrange(1,10) #division
b=randrange(1,10)
c=a*b
print(c, "/", a, end=" ")
try:
resultat=int(input("= "))
if resultat==b:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",b)
except:
faux()
print("Le bon résultat était",b)
print("")
a=randrange(1,10) #distributivité
b=randrange(1,10)
k=randrange(1,10)#facteur
c=(k*a)+(k*b)
print(k,"* (", a, "+", b, ")", end=" ")
try:
resultat=int(input("= "))
if resultat==c:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",c)
except:
faux()
print("Le bon résultat était",c)
print("")
print("Tu as fait la moitié !")
print("")
a=randrange(1,10) #distributivité
b=randrange(1,10)
k=randrange(1,10)#facteur
c=(k*a)-(k*b)
print(k,"* (", a, "-", b, ")", end=" ")
try:
resultat=int(input("= "))
if resultat==c:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",c)
except:
faux()
print("Le bon résultat était",c)
print("")
a=randrange(2,11) #aire carrée
c=a*a
print("Quel est l'aire d'un carrée de coté", a, " ?", end=" ")
try:
resultat=int(input("= "))
if resultat==c:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",c)
except:
faux()
print("Le bon résultat était",c)
print("")
a=randrange(1,10) #aire rectangle
b=randrange(1,10)
c=a*b
print("Quel est l'aire d'un rectangle de coté", a, "et", b, " ?", end=" ")
try:
resultat=int(input("= "))
if resultat==c:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",c)
except:
faux()
print("Le bon résultat était",c)
print("")
x=randrange(1,10) #aire triangle
h=randrange(1,10)#hauteur
a=h*x
b=(2*a)/h#base
b=ceil(b)
print("Quel est l'aire d'un triangle ABC de base", b, "et de hauteur", h, " ?", end=" ")
try:
resultat=int(input("= "))
if resultat==a:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",a)
except:
faux()
print("Le bon résultat était",a)
print("")
x=randrange(1,10) #aire losange
h=randrange(1,10)#hauteur
a=h*x
b=(2*a)/h#base
b=ceil(b)
print("Quel est l'aire d'un losange de grande diagonale ", b, "et de petite diagonale", h, " ?", end=" ")
try:
resultat=int(input("= "))
if resultat==a:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",a)
except:
faux()
print("Le bon résultat était",a)
print("")
print("C'est fini !")
fin = time.time() #Temps
temps=fin-debut
time=ceil(temps)
tiempo=time
if time<60: #Affichage du temps
print("Tu as pris", time, "secondes")
else :
hora=0
while time>=60:
time=time-60
hora=hora+1
print("Tu as pris", hora, "minute(s) et", time, "seconde(s)")
if tiempo>180: #Perte de points si plus de 3 minutes
tiempo=tiempo-180
tiempo=tiempo/15
tiempo=ceil(tiempo)
score=score-tiempo
print("Tu as pris plus de 3 minutes tu a donc perdu des points")
print("Ton score est de :", score, "/10") #Affichage du score et de l'appréciation
if score==10:
print("parfait !")
if score==9:
print("Presque parfait !")
if score==8:
print("Encore un petit effort !")
if score==7:
print("C'est une bonne note tu y est presque")
if score==6:
print("Plus de la moyenne, peut faire mieux. ")
if score==5:
print("La moyenne, tu peut faire mieux!")
if score==4:
print("Dommage c'est presque la moyenne")
if score==3:
print("Révise plus et tu y arrivera !")
if score<3:
print("Va falloir réviser...")
if classe==4: #************QUATRIEME************#
print("C'est parti !")
debut = time.time()
print("")
n=randrange(1,4) #Pythagore
a=2*n
b=(n*n)-1
c=(n*n)+1
print("Dans un triangle rectangle ABC, AB =", a,"et BC = ", b, ",trouver l'hypoténuse AC")
try:
resultat=int(input("L'hypoténuse AC vaut "))
if resultat==c:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",c)
except:
faux()
print("Le bon résultat était",c)
print("")
x=randrange(1,5) #Equation
b=randrange(2,5)
c=x*b
print("Trouver x dans l'équation", b, "x", "=", c, end=" ")
try:
resultat=int(input("Dans cette équation x vaut : "))
if resultat==x:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",x)
except:
faux()
print("Le bon résultat était",x)
print("")
x=randrange(5,10) #Equation
b=randrange(5,11)
c=x*b
print("Trouver x dans l'équation", b, "x", "=", c, end=" ")
try:
resultat=int(input("Dans cette équation x vaut : "))
if resultat==x:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",x)
except:
faux()
print("Le bon résultat était",x)
print("")
a=randrange(1,100) #soustraction négative
b=randrange(1,100)
c=a+b
b=-b
print(a, "-", c, end=" ")
try:
resultat=int(input("= "))
if resultat==b:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",b)
except:
faux()
print("Le bon résultat était",b)
print("")
a=randrange(-10,1) #multiplication négative
b=randrange(1,10)
c=a*b
print(a, "*", b, end=" ")
try:
resultat=int(input("= "))
if resultat==c:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",c)
except:
faux()
print("Le bon résultat était",c)
print("")
a=randrange(1,10) #division négative
b=randrange(-10,-1)
c=a*b
print(c, "/", a, end=" ")
try:
resultat=int(input("= "))
if resultat==b:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",b)
except:
faux()
print("Le bon résultat était",b)
print("")
a=randrange(1,5) #règle priorité
b=randrange(2,5)
c=randrange(1,5)
d=randrange(2,5)
e=(b*c)+a+d
print("Trouver x dans l'équation x=", a, "+", b, "*", c, "+", d)
try:
resultat=int(input("x = "))
if resultat==e:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",e)
except:
faux()
print("Le bon résultat était",e)
print("")
f=(a+b)*(c+d) #règle priorité
print("Trouver x dans l'équation x= (", a, "+", b, ") * (", c, "+", d, ")")
try:
resultat=int(input("x = "))
if resultat==f:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",f)
except:
faux()
print("Le bon résultat était",f)
print("")
a=randrange(1,7) #écriture scientifique
einde = time.time()
tijd = einde-debut#temps : chiffre après virgules
valeur = round(tijd,1)
if valeurs<10:
valeurs=valeurs
if 10<valeur<100:
valeurs=valeurs/10
else:
valeur=valeur/100
b= valeur*(10**a)
b=round(b, a)#valeur à trouver
b=round(b, a)
print("Ecrire de manière scientifique", b)
try:
print(valeur, "* 10**",)
resultat=int(input())
if resultat==a:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",a)
except:
faux()
print("Le bon résultat était",a)
print("")
a=randrange(1,7) #écriture scientifique
ende = time.time()
zeit = ende-debut#temps : chiffre après virgules
valeurs = round(zeit,1)
if valeurs<10:
valeurs=valeurs
if 10<valeur<100:
valeurs=valeurs/10
else:
valeur=valeur/100
b=round(b, a)
a=-a
print("Ecrire de manière scientifique", b)
try:
print(valeurs, "* 10**",)
resultat=int(input(""))
if resultat==a:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",a)
except:
faux()
print("Le bon résultat était",a)
print("")
print("C'est fini !")
fin = time.time() #Temps
temps=fin-debut
time=ceil(temps)
tiempo=time
if time<60: #Affichage du temps
print("Tu as pris", time, "secondes")
else :
hora=0
while time>=60:
time=time-60
hora=hora+1
print("Tu as pris", hora, "minute(s) et", time, "seconde(s)")
if tiempo>180: #Perte de points si plus de 3 minutes
tiempo=tiempo-180
tiempo=tiempo/15
tiempo=ceil(tiempo)
score=score-tiempo
print("Tu as pris plus de 3 minutes tu a donc perdu des points")
print("Ton score est de :", score, "/10") #Affichage du score et de l'appréciation
if score==10:
print("parfait !")
if score==9:
print("Presque parfait !")
if score==8:
print("Encore un petit effort !")
if score==7:
print("C'est une bonne note tu y est presque")
if score==6:
print("Plus de la moyenne, peut faire mieux. ")
if score==5:
print("La moyenne, tu peut faire mieux!")
if score==4:
print("Dommage c'est presque la moyenne")
if score==3:
print("Révise plus et tu y arrivera !")
if score<3:
print("Va falloir réviser...")
if classe==3: #************TROISIEME************#
print("C'est parti !")
debut = time.time()
print("")
a=randrange(1,7) #Identité remarquable addition
b=randrange(1,7)
iD= a**2 + 2*a*b + b**2
print("A =(", a," + ", b,")**2")
try:
resultat=int(input("A = "))
if resultat==iD:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",iD)
except:
faux()
print("Le bon résultat était",iD)
print("")
a=randrange(1,7) #Identité remarquable soustraction
b=randrange(1,7)
iD= a**2 - 2*a*b + b**2
print("B = (", a," - ", b,")**2")
try:
resultat=int(input("B = "))
if resultat==iD:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",iD)
except:
faux()
print("Le bon résultat était",iD)
print("")
a=randrange(1,10) #Identité remarquable addition & soustraction
b=randrange(1,10)
iD= a**2 - b**2
print("C = (", a," + ", b,")*(", a," - ", b,")")
try:
resultat=int(input("C = "))
if resultat==iD:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",iD)
except:
faux()
print("Le bon résultat était",iD)
print("")
a=randrange(1,7) #écriture scientifique
einde = time.time()
tijd = einde-debut
valeur = round(tijd,1)
b= valeur*(10**a)#temps : chiffre après virgules
b=round(b,a)
print("Ecrire de manière scientifique", b)
try:
print(valeur, "* 10**",)
resultat=int(input())
if resultat==a:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",a)
except:
faux()
print("Le bon résultat était",a)
print("")
a=randrange(1,10) #Fonction affine
b=randrange(1,100)
x=randrange(1,10)
F=a*x+b
print("L'image de", x, "par la fonction F, avec F(x) = ", a, "x +", b)
try:
resultat=int(input("est :"))
if resultat==F:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",F)
except:
faux()
print("Le bon résultat était",F)
print("")
a=randrange(1,10) #Polynome second degré
b=randrange(1,100)
x=randrange(1,10)
G=x**2+a*x+b
print("L'image de", x, "par la fonction G, avec G(x) = x**2 +", a, "x +", b)
try:
resultat=int(input("est :"))
if resultat==G:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",G)
except:
faux()
print("Le bon résultat était",G)
print("")
a=randrange(1,10) #Antécédent
b=randrange(1,10)
c=randrange(1,10)
f=(a*b)-c
print("L'unique antécédent de", f, "par la fonction f, avec f(x)=", b, "* x -", c, "est")
try:
resultat=int(input(":"))
if resultat==a:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",a)
except:
faux()
print("Le bon résultat était",a)
print("")
a=randrange(1,10) #Antécédent
b=randrange(1,10)
c=randrange(1,10)
f=(a*b)-c
print("L'unique antécédent de", f, "par la fonction f, avec f(x)=", b, "* x -", c, "est")
try:
resultat=int(input(":"))
if resultat==a:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",a)
except:
faux()
print("Le bon résultat était",a)
print("")
a=randrange(1,10)#PGCD #PGCD
b=randrange(1,5)
c=randrange(6,10)
d=a*b
e=a*c
print("Trouver PGCD(", d, ":", e, ")")
try:
resultat=int(input("Le diviseur commun est "))
if resultat==a:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",a)
except:
faux()
print("Le bon résultat était",a)
print("")
a=randrange(1,10)#PGCD #PGCD
b=randrange(1,5)
c=randrange(6,10)
d=a*b
e=a*c
print("Trouver PGCD(", d, ":", e, ")")
try:
resultat=int(input("Le diviseur commun est "))
if resultat==a:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",a)
except:
faux()
print("Le bon résultat était",a)
print("")
print("C'est fini !")
fin = time.time() #Temps
temps=fin-debut
time=ceil(temps)
tiempo=time
if time<60: #Affichage du temps
print("Tu as pris", time, "secondes")
else :
hora=0
while time>=60:
time=time-60
hora=hora+1
print("Tu as pris", hora, "minute(s) et", time, "seconde(s)")
if tiempo>180: #Perte de points si plus de 3 minutes
tiempo=tiempo-180
tiempo=tiempo/15
tiempo=ceil(tiempo)
score=score-tiempo
print("Tu as pris plus de 3 minutes tu a donc perdu des points")
print("Ton score est de :", score, "/10") #Affichage du score et de l'appréciation
if score==10:
print("parfait !")
if score==9:
print("Presque parfait !")
if score==8:
print("Encore un petit effort !")
if score==7:
print("C'est une bonne note tu y est presque")
if score==6:
print("Plus de la moyenne, peut faire mieux. ")
if score==5:
print("La moyenne, tu peut faire mieux!")
if score==4:
print("Dommage c'est presque la moyenne")
if score==3:
print("Révise plus et tu y arrivera !")
if score<3:
print("Va falloir réviser...")
if classe==2: #************SECONDE************#
print("C'est parti !")
debut = time.time()
print("")
a=randrange(1,10)#PGCD #PGCD
b=randrange(1,5)
c=randrange(6,10)
d=a*b
e=a*c
print("Trouver PGCD(", d, ":", e, ")")
try:
resultat=int(input("Le diviseur commun est "))
if resultat==a:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",a)
except:
faux()
print("Le bon résultat était",a)
print("")
a=randrange(1,100) #P(A u B) #Proba
b=randrange(1,a)#P(B)
c=randrange(1,b)#P(A n B)
a=a/100
b=b/100
c=c/100
d=(a-b)+c
d=round(d,2)
print("P(A u B)=", a, ", P(A n B) =", c, "P(B)=", b)
print("Calculer P(A)")
try:
resultat=float(input("P(A) ="))
if resultat==d:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",d)
except:
faux()
print("Le bon résultat était",d)
print("")
a=randrange(1,100) #P(A u B) #Proba
b=randrange(1,a)#P(B)
c=randrange(1,b)#P(A n B)
a=a/100
b=b/100
c=c/100
d=(a-b)+c
d=round(d,2)#P(A)
print("P(A)=", d, ", P(B) =", b, "P(A u B)=", a)
print("Calculer P(A n B)")
try:
resultat=float(input("P(A n B) ="))
if resultat==c:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",c)
except:
faux()
print("Le bon résultat était",c)
print("")
a=randrange(1,10) #Equation de droite, trouver m
b=1+a
c=randrange(1,10)
d=randrange(1,10)
print("A(",a, ",", b, ") et B(",c , ",", d, ")")
print("Calculer le coefficient directeur m de la droite (AB)")
m=(d-c)/(b-a)
m=ceil(m)
try:
resultat=int(input("m = "))
if resultat==m:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",m)
except:
faux()
print("Le bon résultat était",m)
print("")
a=randrange(5,10) #Part en pourcetage
b=randrange(1,3)
c=a*(10**b)
d=randrange(5,10)
e=c*d
f=(c*100)/e
f=ceil(f)
print("Une sous-population P' d’une population P compte", c, "individus. P' représente", d, "% de la population P. ")
print("Calculez l’effectif total T de la population P.")
try:
resultat=int(input("T = "))
if resultat==e:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",e)
except:
faux()
print("Le bon résultat était",e)
print("")
if m==0: #Equation de droite, trouver p
e=randrange(1,10)
f=randrange(1,10)#pour éviter la division par zéro
g=f*e
m=1
print("Determiner l’ordonnée à l’origine p de la droite CD, sachant que C(", e, ";", g, ")")
print("Et que m=1")
p=g/(e*m)
try:
resultat=int(input("p = "))
if resultat==p:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",p)
except:
faux()
print("Le bon résultat était",p)
else:
m=ceil(m)
print("Le coefficient directeur est donc", m)
p=b/(a*m)
p=ceil(p)
print("Determiner l’ordonnée à l’origine p de la droite AB ")
print("(arrondir à l'unité si nécessaire)")
try:
resultat=int(input("p = "))
if resultat==p:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",p)
except:
faux()
print("Le bon résultat était",p)
print("")
a=randrange(1,10) #Colinéarité de vecteur
b=randrange(1,10)
c=randrange(2,5)
d=a*c
e=b*c
print("Les vecteurs U(", a, ",", b, ") et V(",d , ",", e, ") sont colinéaires ?")
try:
resultat=int(input("vrai ou faux (vrai = 0 et faux = 1) : "))
if resultat==0:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était vrai (0)")
except:
faux()
print("Le bon résultat était vrai (0)")
print("")
print("C'est fini !")
fin = time.time() #Temps
temps=fin-debut
time=ceil(temps)
tiempo=time
if time<60: #Affichage du temps
print("Tu as pris", time, "secondes")
else :
hora=0
while time>=60:
time=time-60
hora=hora+1
print("Tu as pris", hora, "minute(s) et", time, "seconde(s)")
if tiempo>180: #Perte de points si plus de 3 minutes
tiempo=tiempo-180
tiempo=tiempo/15
tiempo=ceil(tiempo)
score=score-tiempo
print("Tu as pris plus de 3 minutes tu a donc perdu des points")
print("Ton score est de :", score, "/10") #Affichage du score et de l'appréciation
if score==10:
print("parfait !")
if score==9:
print("Presque parfait !")
if score==8:
print("Encore un petit effort !")
if score==7:
print("C'est une bonne note tu y est presque")
if score==6:
print("Plus de la moyenne, peut faire mieux. ")
if score==5:
print("La moyenne, tu peut faire mieux!")
if score==4:
print("Dommage c'est presque la moyenne")
if score==3:
print("Révise plus et tu y arrivera !")
if score<3:
print("Va falloir réviser...")
if classe==1: #************PREMIERE************#
print("C'est parti !")
debut = time.time()
print("")
x=randrange(1,10) #Suite arithmétique
r=randrange(1,10)
n=randrange(1,10)
c=x+(n*r)
print("(Un) désigne une suite arithmétique tel que : Un =",r ,"n + ", x,". Calculez U",n)
try:
resultat=int(input("Le resultat est : "))
if resultat==c:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",c)
except:
faux()
print("Le bon résultat était",c)
print("")
x=randrange(1,10) #Suite arithmétique
r=randrange(1,10)
n=randrange(1,10)
print("(Un) désigne une suite arithmétique de premier terme U0 =", x, "et de raison",r)
print("Calcluer U",n)
c=x
q=0
while q<n:
c=c+r
q=q+1
try:
resultat=int(input("Le resultat est : "))
if resultat==c:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",c)
except:
faux()
print("Le bon résultat était",c)
print("")
x=randrange(1,5) #Suite géométrique
r=randrange(1,3)
n=randrange(1,5)
print("Soit (Un) une suite géométrique telle que U0 =", x,"et sa raison est égale à", r)
print("Calcluer U",n)
c=x
q=0
while q<n:
c=c*r
q=q+1
try:
resultat=int(input("Le resultat est : "))
if resultat==c:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",c)
except:
faux()
print("Le bon résultat était",c)
print("")
x=randrange(1,5) #Suite géométrique
r=randrange(1,3)
n=randrange(1,5)
print("Soit (Un) une suite géométrique telle que U0 =", x,"et sa raison est égale à", r)
print("Calcluer U",n)
c=x
q=0
while q<n:
c=c*r
q=q+1
try:
resultat=int(input("Le resultat est : "))
if resultat==c:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",c)
except:
faux()
print("Le bon résultat était",c)
print("")
a=randrange(1,7) #Discriminant
b=randrange(1,10)
c=randrange(1,5)
d=(b*b)-(4*a*c)
print("F(x)= ",a,"x**2 +", b, "x +", c, "admet un discriminant D")
try:
resultat=int(input("D = "))
if resultat==d:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",d)
except:
faux()
print("Le bon résultat était",d)
print("")
if d>0: #Nombre de solution fonction
s=2
if d==0:
s=1
if d<0:
s=0
print("Combien de solution S l'équation précedente a t-elle dans R ?")
try:
resultat=int(input("S = "))
if resultat==s:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",s)
except:
faux()
print("Le bon résultat était",s)
print("")
a=randrange(1,10) #Parabole
b=randrange(1,10)
c=randrange(1,10)
d=randrange(0,2)
if d==0:
a=a*-1
else:
a=a
print("F(x)= ",a,"x**2 +", b, "x +", c, "admet C pour représentation graphique")
print("La courbe C est une parabole, admet-elle un minimum ou un maximum ?")
print("(minimum = 0 et maximum = 1)")
try:
resultat=int(input("La parabole C admet un "))
if resultat==d:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",d)
except:
faux()
print("Le bon résultat était",d)
print("")
print("Calculer l'abscisse du sommet S de cette parabole") #Sommet de la parabole
a=2*a
b=-b
p=str(Fraction(b, a))
try:
resultat=str(input("S = "))
if resultat==p:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",p)
except:
faux()
print("Le bon résultat était",p)
print("")
a=randrange(1,10) #Parabole
b=randrange(1,10)
c=randrange(1,10)
d=randrange(0,2)
if d==0:
a=a*-1
else:
a=a
print("F(x)= ",a,"x**2 +", b, "x +", c, "admet C pour représentation graphique")
print("La courbe C est une parabole, admet-elle un minimum ou un maximum ?")
print("(minimum = 0 et maximum = 1)")
try:
resultat=int(input("La parabole C admet un "))
if resultat==d:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",d)
except:
faux()
print("Le bon résultat était",d)
print("")
print("Calculer l'abscisse du sommet S de cette parabole") #Sommet de la parabole
a=2*a
b=-b
p=str(Fraction(b, a))
try:
resultat=str(input("S = "))
if resultat==p:
vrai()
score=score+1
else:
faux()
print("Le bon résultat était",p)
except:
faux()
print("Le bon résultat était",p)
print("")
print("C'est fini !")
fin = time.time() #Temps
temps=fin-debut
time=ceil(temps)
tiempo=time
if time<60: #Affichage du temps
print("Tu as pris", time, "secondes")
else :
hora=0
while time>=60:
time=time-60
hora=hora+1
print("Tu as pris", hora, "minute(s) et", time, "seconde(s)")
if tiempo>180: #Perte de points si plus de 3 minutes
tiempo=tiempo-180
tiempo=tiempo/15
tiempo=ceil(tiempo)
score=score-tiempo
print("Tu as pris plus de 3 minutes tu a donc perdu des points")
print("Ton score est de :", score, "/10") #Affichage du score et de l'appréciation
if score==10:
print("parfait !")
if score==9:
print("Presque parfait !")
if score==8:
print("Encore un petit effort !")
if score==7:
print("C'est une bonne note tu y est presque")
if score==6:
print("Plus de la moyenne, peut faire mieux. ")
if score==5:
print("La moyenne, tu peut faire mieux!")
if score==4:
print("Dommage c'est presque la moyenne")
if score==3:
print("Révise plus et tu y arrivera !")
if score<3:
print("Va falloir réviser...")
if classe not in [0,1,2,2,3,4,5,6]:
print("Cette classe n'existe pas !")
except:
print("Ce n'est pas une classe !")
EDIT : Ajout des balises de code (la coloration syntaxique). Explications disponibles ici : ICI
Felice_
Messages postés265Date d'inscriptionmardi 25 avril 2017StatutMembreDernière intervention20 juillet 201711 23 mai 2017 à 11:38
Bonjour,
Tu as beaucoup de répétition, que tu pourrais factoriser à l'aide de fonctions et de boucles…
Thomass04
Messages postés2Date d'inscriptionmardi 23 mai 2017StatutMembreDernière intervention23 mai 2017 23 mai 2017 à 11:42
Bonjour,
Merci de ta réponse
Au début mon programme était comme tu le propose mais pour pouvoir avoir le score de l'utilisateur j'ai du faire ainsi.
Felice_
Messages postés265Date d'inscriptionmardi 25 avril 2017StatutMembreDernière intervention20 juillet 201711
>
Thomass04
Messages postés2Date d'inscriptionmardi 23 mai 2017StatutMembreDernière intervention23 mai 2017 Modifié le 23 mai 2017 à 13:15
Thomas, je n'ai pas compris…
Comme dit tu peux tout factoriser, à l'aide de fonction boucles et listes/tuples.
L'idéal c'est même de faire une class avec.
J'ai l'impression que ton code on peut le diviser par 10, ce qui serai beaucoup plus facile à lire !
Exemple :
def addition(chiffre):
a = randrange(1, chiffre)
b = randrange(1, chiffre)
c = a + b
print(a, '+', b, end = ' ')
try:
resultat = int(input('= '))
if resultat == c:
vrai()
score = score + 1
else:
faux()
print('Le bon résultat était', c)
except:
faux()
print('Le bon résultat était', c)
print('')
Puis tu refactorises de nouveau pour addition, soustraction etc
Pour tes conditions tu fais une boucle à l'aide de tuples et du mot-clé « break »
Autre point au niveau des imports, il ne faut jamais utiliser le joker « * ».
ThEBiShOp
Messages postés8378Date d'inscriptionjeudi 22 mars 2007StatutContributeurDernière intervention 8 février 20211 566 23 mai 2017 à 11:52
Idéalement il aura fallu utiliser des tableaux pour regrouper tes questions/réponses et effectivement, passer par des boucles, ton code aurait été énormément plus court.
Ca pourrait te permettre de rajouter facilement des questions et même de pouvoir varier leur ordre. Là si on le fait plusieurs fois, on va rapidement connaitre toutes les questions par cœur ;)
Et sinon les fautes d'orthographes quoi :(
réponse avec un S et les règles de conjugaison niveau primaire ^^
23 mai 2017 à 11:42
Merci de ta réponse
Au début mon programme était comme tu le propose mais pour pouvoir avoir le score de l'utilisateur j'ai du faire ainsi.
Modifié le 23 mai 2017 à 13:15
Comme dit tu peux tout factoriser, à l'aide de fonction boucles et listes/tuples.
L'idéal c'est même de faire une class avec.
J'ai l'impression que ton code on peut le diviser par 10, ce qui serai beaucoup plus facile à lire !
Exemple :
Puis tu refactorises de nouveau pour addition, soustraction etc
Pour tes conditions tu fais une boucle à l'aide de tuples et du mot-clé « break »
Autre point au niveau des imports, il ne faut jamais utiliser le joker « * ».