DL0010⚓︎
Vous pouvez faire ce devoir sur Capytale ici
Partie 1 : Le jeu du + ou -⚓︎
Alice: « Je pense à un nombre entre 1 et 100. Bob, essaie de le deviner ! »
Bob: « Ok. 50 ? »
Alice: « C'est moins! »
Bob: « 20 ? »
Alice: « C'est plus! »
Bob: « 40 ? »
Alice: « C'est plus! »
Bob: « 45? »
Alice: « C'est moins! »
Bob: « 42? »
Alice: « Bravo! Tu as deviné! »
Objectif
Programmer ce jeu.
- Dans un premier temps, le nombre à deviner est fixé.
- On saisira les propositions de l'utilisateur (Bob) avec la fonction
input
. - Le programme s'arrête quand l'utilisateur donne la bonne réponse, et sinon affiche « C'est plus! » ou « C'est moins! » selon les cas.
- Le nombre à deviner est choisi de façon aléatoire. Voir T6.2 Bibliothèques pour la fonction
randint
du modulerandom
. - Le programme affiche le nombre de tentatives pour trouver.
- Le programme joue seul, de façon intelligente.
Proposition de correction
import random
nbr_essais = 1
nbr_alea =random.randint(0, 100) # nombre choisi par l'ordinateur
mon_nombre = 0 # nombre proposé par BOB
while mon_nombre != nbr_alea :
print(f"Essai numeros {nbr_essais})
mon_nombre = int(input("Entrez un nombre entier : "))
if mon_nombre < nbr_alea:
print("C'est plus!")
elif mon_nombre > nbr_alea:
print("C'est moins!")
else:
print(f"Bravo BOB ! Tu as trouvé en {nbr_essais} essai(s)")
nbr_essais += 1
Partie 2⚓︎
Résoudre le pydéfi «Désamorçage d'un explosif (I)» (voir sur cette page).
Proposition de correction
numero_serie = 797114
U = numero_serie // 1000
N = numero_serie % 1000
for k in range(N):
U = U*13 % 1000
print(f"Le numéro de fil à couper est {U}")