Aller au contenu

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 module random.
  • 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}")