Index de l'article

Etape 5

Alors voici deux scripts, celui de gauche demande à l'utilisateur de saisir un nombre d'essais - du genre 25 essais, et celui de droite demande à l'utilisateur de jouer un certain temps - du genre 3 minutes. Vous noterez aussi la présence du while True: qui permet de gérer les erreurs de saisie, car cela m'a énervé de voir le programme planter 2 secondes avant la fin du temps de jeu...

Jeux avec un nbre d'essais

from random import randint
#Déclaration des variables et affichage initial
x = 0 #Nombre de points
prenom=input("Votre prénom est ")
print("Vérifiez que le pavé numérique est activé!")
tour = int(input("Vous voulez jouer combien de fois: "))

# Boucle bornée

for i in range(tour): 
    a = randint(1,10) #Nombre aléatoire pour le calcul
    b = randint(1,10) #Nombre aléatoire pour le calcul
    print(a," * ",b," = ? ") #Affiche "a + b = ?"
    

# ----------------------------------------------------------------------------
    while True:  # Boucle infinie qui se répétera jusqu'à une saisie correcte

        try:
            d = int(input("Saisir le résultat: "))  # Demande au joueur de saisir sa réponse et conversion en entier
            break  # Sortir de la boucle si tout est correct
        except ValueError:
            print("Mauvais type de saisie, recommancez") # Si une erreur on redemande la saisie
# ----------------------------------------------------------------------------
    if d == a * b: #Calcule a * b et vérifie si la condition est bonne
        #Condition d (réponse) = a * b
        print ("Gagné, vous avez 1 point")
        x = x + 1
    else: #Condition d (réponse) ≠ a * b
        print("---------------------------Caramba, c'est raté!")
    print () #Retour à la ligne
       
print("Le jeu est terminé.")
#Affichage des scores
print () #Retour à la ligne
print ()
print ("Merci ",prenom)
print ("Jeu terminé, vous avez eu",x,"points en",i+1,"essais")
print ("Votre moyenne est donc de ",round(x/(i+1)*20,2),"/20")

Jeux avec une durée en minutes

import time
from random import randint
#Déclaration des variables et affichage initial
x = 0 #Nombre de points
i=0
prenom=input("Votre prénom est ")
print("Vérifiez que le pavé numérique est activé!")
duree = int(input("Saisir le nombre de minute(s): "))# Durée en secondes
duree=duree*60 # Durée transformé en seconde
# Heure de début
start_time = time.time()

# Boucle qui se termine après "duree en seconde"

while time.time() - start_time < duree:
    a = randint(1,10) #Nombre aléatoire pour le calcul
    b = randint(1,10) #Nombre aléatoire pour le calcul
    print(a," * ",b," = ? ") #Affiche "a + b = ?"
    i=i+1

# ----------------------------------------------------------------------------
    while True:  # Boucle infinie qui se répétera jusqu'à une saisie correcte

        try:
            d = int(input("Saisir le résultat: "))  # Demande au joueur de saisir sa réponse et conversion en entier
            break  # Sortir de la boucle si tout est correct
        except ValueError:
            print("Mauvais type de saisie, recommancez") # Si une erreur on redemande la saisie
# ----------------------------------------------------------------------------
    if d == a * b: #Calcule a * b et vérifie si la condition est bonne
        #Condition d (réponse) = a * b
        print ("Gagné, vous avez 1 point")
        x = x + 1
    else: #Condition d (réponse) ≠ a * b
        print("---------------------------Caramba, c'est raté!")
    print () #Retour à la ligne
       
print("Le jeu est terminé.")
#Affichage des scores
print () #Retour à la ligne
print ()
print ("Merci ",prenom)
print ("Jeu terminé, vous avez eu",x,"points en",i,"essais réalisé pendant",duree,"secondes")
print ("Votre moyenne est donc de ",round(x/i*20,2),"/20")

 

 

Pièce(s) jointe(s)
Download this file (table de multiplication.py)table de multiplication.py[ ]1 kB