Lasyvegasy
Messages postés5Date d'inscriptionsamedi 30 avril 2016StatutMembreDernière intervention11 mai 2016
-
4 mai 2016 à 12:55
Lasyvegasy
Messages postés5Date d'inscriptionsamedi 30 avril 2016StatutMembreDernière intervention11 mai 2016
-
4 mai 2016 à 19:52
Bonjour, j'ai créé un générateur de calcul mental avec différents modes:classique,arcade,course et time attack(pas encore fini).Le but du mode arcade est d'enchainé le plus de calculs sans faire d'erreurs,si l'utilisateurs en fait le jeu s'arrête. Je voudrais donc savoir si c'était possible de mettre une boucle for i in range (des qu'il fait un erreur) ou si c'était preferable de mettre un grand nombre a la place dans la boucle. De plus je voudrais savoir comment faire pour que le générateur, en mode course, reste sur le meme calcul jusqu'a ce que l'utilisateur trouve la bonne réponse avant de passer au calcul suivant. Et enfin, je souhaiterais savoir comment faire pour mettre des difficultés,c-a-d que l'utilisateur choisi le niveau de difficulté:facile,normale,difficile; avant le choix mode pour les calculs se fassent en fonction de la difficulté choisi. Vu que c'est un projet bac, si vous avez des idées intéressantes, n'hésitez pas à les proposer. Merci pour votre aide, elle me sera d'une grande utilité.
# Imports
from random import randint
import time
from math import*
# Fonctions
def menu():
print ("Tapez:")
print ("1 pour le mode classique")
print ("2 pour le mode arcade")
print ("3 pour le mode course")
print ("O pour quitter")
def classique():
score=0
for p in range(20):
a, b, signe = randint(1,20), randint(1,10), randint(1,3)
if signe==2 and a<b: # En cas de soustraction : a doit être > b
a,b=b,a
operation='%d %s %d' % (a , '_+-*'[signe] , b)
resultat=eval(operation)
question='Operation %d : %s = ? ' % (p+1,operation)
resultat2=int(input(question))
score+=(resultat2==resultat)
print (score,'/20')
return
def arcade():
score=0
p=0
while p < 50:
a, b, signe = randint(1,20), randint(1,10), randint(1,3)
if signe==2 and a<b: # En cas de soustraction : a doit être > b
a,b=b,a
operation='%d %s %d' % (a , '_+-*'[signe] , b)
resultat=eval(operation)
question='Operation %d : %s = ? ' % (p+1,operation)
resultat2=int(input(question))
if resultat2 == resultat:
score=score+1
p=p+1
else:
score=score
p=p+1
print ("Votre score est de",score)
break
def course():
score=0
debut=time.time()
for p in range(20):
a, b, signe = randint(1,20), randint(1,10), randint(1,3)
if signe==2 and a<b: # En cas de soustraction : a doit être > b
a,b=b,a
operation='%d %s %d' % (a , '_+-*'[signe] , b)
resultat=eval(operation)
question='Operation %d : %s = ? ' % (p+1,operation)
resultat2=int(input(question))
score+=(resultat2==resultat)
fin=time.time()
temps=ceil(fin-debut)
print ('Vous avez mis',temps,'secondes pour faire les 20 calculs')
return
menu()
choix=int(input('Sasir votre choix : '))
if choix==1:
classique()
if choix==2:
arcade()
if choix==3:
course()
4 mai 2016 à 19:52