Objectifs :
À la fin de cette séquence vous serez capable de :
- Générer un nombre aléatoire à l'aide de les fonctions random() et randint()
- Manipuler les instructions if, elif et else
- Commenter une programme
- Écrire un petit algorithme qui répond à un problème donné
- Écrire un algorithme en pseudo-code
- Spécifier (décrire) un programme
Un mini-projet

Dans ce jeu, le programme génère un nombre aléatoire mais ce nombre n'est pas visible par le joueur.
Le joueur doit le deviner en une seule tentative.
- Si le joueur entre le même nombre que celui généré par le système, le programme affiche le message gagnant et le jeu s'arrête là.
-
Si le joueur entre un mauvais nombre, ce numéro est évalué.
- Si le nombre est supérieur à la bonne réponse, le système donne un indice indiquant que le nombre saisi est «élevé»,
- sinon, si le nombre est inférieur à la bonne réponse, il indique « inférieur ».
1. Générér un nombre aléatoire
import random
# Générer un nombre réel compris entre 0 et 1 exclu
aleatoire = random.random()
print(aleatoire)
help(random.random)
# Générer un nombre réel compris entre 3 et 4 exclu
aleatoire = random.random() + 3
print(aleatoire)
# Générer un nombre réel compris entre -1 et 0 exclu
aleatoire = random.random() - 1
print(aleatoire)
# Générer un entier compris entre 0 et 6 compris
de = random.randint(1, 6)
help(random.randint)
de
#somme de deux dés
de1 = random.randint(1, 6)
de2 = random.randint(1, 6)
print(f"Vous avez joué {de1} et {de2} pour un total de {de1 + de2}")
#somme de deux dés
de1 = random.randrange(1, 7) #la borne supérieure (7) n'est pas considérée
de2 = random.randrange(1, 7)
print(f"Vous avez joué {de1} et {de2} pour un total de {de1 + de2}")
2. Découvrir et manipuler l'instruction if
print("Bienvenue sur notre site.")
print("\nLa sécurité est notre devise !\n")
mot_pass = intput("Saisir votre mot de passe :")
if mot_pass = 'nsi':
print("connexion réussie.")
Syntaxe
if test :
<expression n°1>
...
<expression n°n>
<instruction après le Si>
#Après les deux points il y a une indentation (décalage)
#expressions n°... constituent un block de code indenté par rapport à la ligne précédente. On l'appelle le corps du if
Organigramme
print("Bienvenue sur le site du LDJ.")
print("\nOn gagne à tous les coups !\n")
mot_pass = intput("Saisir votre mot de passe :")
if mot_pass == 'nsi':
print("connexion réussie.")
print("Attention, les jeux d'argent sont interdits aux mineurs !")
La clause else
#Que se passe-t-il si la connexion échoue ? On ne le sait pas.
print("Bienvenue sur le site du LDJ.")
print("\nOn gagne à tous les coups !\n")
mot_pass = intput("Saisir votre mot de passe :")
if mot_pass == 'nsi':
print("connexion réussie.")
print("Attention, les jeux d'argent sont interdits aux mineurs !")
else:
print("mot de passe incorrect !")
La clause elif
#Afficher votre humeur du jour sur écran d'un ordinateur
print("Je sens votre tempérament. Votre humeur actuel sur mon écran.\n")
print("Choisissez un entier entre 1 et 3 et j'afficherai votre humeur")
'''
'''
choix = int(input("Saisir un entier entre 1 et 3"))
print("\nVous êtes...")
if choix == 1:
#Vous êtes joyeux
print("\U0001f600")
elif choix == 2:
#Vous êtes ni gai ni triste
print("\U0001F611")
elif choix == 3:
#Vous êtes triste
print("\U0001F612")
else:
print("D'une humeur indescriptible ! (Vous devez rapidement consulter un psy.)")
if imbriqués
Organigramme
Opérateurs de comparaison
| Opérateurs | Signification | Exemples | Valeur de vérité |
|---|---|---|---|
| == | égalité | 3 == 7 | False |
| != | différent | 3 != 7 | True |
| < | plus petit que | 3 < 7 | True |
| ≤ | plus petit ou égal à | 3 ≤ 7 | True |
| > | plus grand que | 3 > 7 | False |
| ≥ | plus grand ou égal à | 3 ≥ 7 | False |
L'algorithme de notre jeu
"""
Cet algorithme génère un nombre aléatoire compris entre 1 et 10.
Ce nombre doit être deviné en une seule tentative.
"""
- Choisir un nombre à deviner entre 1 et 10.
- Demander au joueur de proposer un nombre.
- Si la proposition est plus petite que le nombre à deviner, afficher : « Trop petit. »
- Si la proposition du joueur est supérieure au nombre à deviner, afficher : « Trop grand. »
- Sinon, afficher « Bravo, vous avez deviné le bon nombre. »
Le pseudo-code du jeu
Le pseudo-code est une façon d’écrire un algorithme en langage courant simplifié, mais structuré comme un programme informatique.
Il combine des mots-clés (SI, TANT QUE, POUR…) et des symboles (←, =, +, ≥…) pour décrire les instructions.
nbre_secret ← un entier choisi au hasard entre 1 et 10
essai ← proposition du joueur
SI essai < nbre_secret ALORS
Afficher « Trop petit. »
SINON SI essai > nbre_secret ALORS
Afficher « Trop grand. »
SINON
Afficher « Bravo, vous avez deviné le bon nombre ! »
FINSI
Faites-vous plaisir 1 :
Écrire un programme Python qui demande à l’utilisateur de saisir un nombre et détermine si le nombre est positif, négatif ou nul.
Faites-vous plaisir 2 :
Écrire un programme Python qui demande à l’utilisateur de saisir un nombre et détermine si le nombre est pair ou impair.
Faites-vous plaisir 3 :
Écrire un programme Python qui demande à l’utilisateur de saisir trois nombres et détermine le plus grand des trois.
Faites-vous plaisir 4 :
Écrire un programme Python qui lit trois entiers naturels (longueurs des côtés d'un triangle)
- Si les trois longueurs ne vérifient pas l’inégalité triangulaire, afficher « Ce n’est pas un triangle. ».
-
Sinon, déterminer si le triangle est rectangle (théorème de Pythagore) et afficher :
- « Triangle rectangle. » ou
- « Triangle non rectangle. »
Faites-vous plaisir 5 : Vérification d'âge incorrecte (if)
Description : Ce programme demande l'âge d'une personne et doit indiquer si elle est majeure (18 ans ou plus) ou mineure.
# Problème de Débogage 2
age_str = input("Quel est votre âge ? ")
age = age_str
if age >= 18:
print("Vous êtes majeur.")
else:
print("Vous êtes mineur.")
Comportement Attendu (Exemple avec entrée "20") :
Quel est votre âge ? 20
Vous êtes majeur.
Comportement Attendu (Exemple avec entrée "15") :
Quel est votre âge ? 15
Vous êtes mineur.
(Note : Le code peut lever une erreur de type TypeError ou donner un résultat inattendu.)
Identifier l'erreur de type et corriger le code.
Faites-vous plaisir 5 : Condition if
Description : Ce code vérifie si un nombre est divisible par 3 ou par 5, mais contient une erreur.
nombre = int(input("Entrez un nombre : "))
if nombre % 3 == 0:
print("Divisible par 3")
elif nombre % 5 == 0:
print("Divisible par 5")
elif nombre % 3 == 0 and nombre % 5 == 0:
print("Divisible par 3 et 5")
else:
print("Non divisible")
Le saviez-vous ?
Depuis Python 3.10,match ... casepeut remplacer une suite deif/elif, ce qui rend le code plus lisible pour des choix multiples.print("Je sens votre tempérament. Votre humeur actuelle s'affiche sur mon écran.\n") print("Choisissez un entier entre 1 et 3 et j'afficherai votre humeur") choix = int(input("Saisir un entier entre 1 et 3 : ")) print("\nVous êtes...") match choix: case 1: # joyeux print("\U0001F600") case 2: # neutre print("\U0001F611") case 3: # triste print("\U0001F641") case _: # valeur en dehors de 1..3 print("D'une humeur indescriptible !")Ici on suppose que l’utilisateur entre bien un entier.