Échauffements

  • [ ] Copier-coller le bloc le programme suivant. Puis commenter pour expliquer ce que fait chaque ligne.
In [ ]:
from random import randint
print("--- Simulateur de lancer de dés ---")
print("Première situation")
de1 = randint(1, 6)
de2 = randint(1, 10)
resulat1 = de1 * de2
print("La première situation donne", resulat1)
print("Deuxième situation")
resulat2 = randint(1, 8) * randint(1, 8)
print("La deuxième situation donne", resulat2)
Transformer le programme pour qu'il simule les deux situations suivantes:
  • Situation 1: On fait la somme des résultats des lancers de 2 dés à 18 faces.
  • Situation 2: On fait le produit des résultats des lancers de deux dés à 3 faces et d'un dé à 4 faces.

Vous ètes invités à apporter toutes les améliorations qui vous semblent interessantes.

Vous serez noté suivant les critères suivants:
  • Qualité des commentaires qui expliquent le fonctionnement du programme.
  • Fonctionnement de votre programme et respect de la consigne.
  • Qualité des améliorations apportés.
Sauver votre programme dans "Devoirs" en le nommant nom-prénom-simlulation.py
  • [ ] Copier-coller le bloc à la suite. Puis commenter.
In [ ]:
if resulat1 > resulat2:
    print("La première situation gagne")
else:
    print("La deuxième situation gagne")
  • [ ] Quelle situation semble donner le score le plus grand?
  • [ ] Ouvrir un nouveau fichier, copier-coller le programme suivant puis commenter chaque ligne pour expliquer son fonctionnement.
In [ ]:
from random import randint

print("--- Simulateur de lancer de dés ---")

for i in range(10):
    print("---------------------")
    print("# Simulation numéro", i+1)
    
    print("Première situation")
    de1 = randint(1, 6)
    de2 = randint(1, 10)
    resulat1 = de1 * de2
    print("La première situation donne", resulat1)
    
    print("Deuxième situation")
    resulat2 = randint(1, 8) * randint(1, 8)
    print("La deuxième situation donne", resulat2)
    
    if resulat1 > resulat2:
        print("-> La première situation gagne.")
    else:
        print("-> La deuxième situation gagne.")

Pour chaque problème qui suit, avant de vous lancer dans sa résolution, réfléchissez à la réponse que vous donneriez intuitivement.


Dés de Efrons

On dispose de 3 dés à 6 faces équilibrés avec les nombres suivants sur leurs faces.

  • A : 1, 6, 11, 12, 13, 14
  • B : 2, 3, 4, 15, 16, 17
  • C : 5, 7, 8, 9, 10, 18

On souhaite savoir si un dé est plus avantageux que les autres.

**Vous enregistrez votre programme dans Devoirs sous le nom** `nom-prénom-deEfron.py`

Proposition d'étapes pour répondre à cette question

  1. Simuler le lancer de ces 3 dés.
  2. Simuler en même temps les dés A et B. Lequel semble donner le meilleur score?
  3. Faire la même chose avec les dés A et C puis avec les dés B et C.
  4. Y a-t-il un dé plus fort que les autres?
  5. Simuler le lancer des 3 dés en même temps lequel semble le plus fort?

Astuces pour simuler les lancés de dés:

In [ ]:
from random import choice
# On définit les valeurs inscrites sur chaque face
deA = [1, 6, 11, 12, 13, 14]
# Python choisi une face au hasard
print(choice(deA))

Les dés des Dudu

Dans le problème des dés des Dudu, les deux frères ont chacun deux dés différents:

  • Le frère 1: a un dé qui va de 0 à 9 et un dé de 1 à 8.
  • Le frère 2: a un dé de 1 à 12 et un dé classique 1 à 6.

On veut savoir qui sera le premier à faire 17 en ajoutant le résultat de ses 2 dés.

À vous de simuler cette situation pour répondre à la question.