Algorithmique et Programmation • Seconde

Écriture de scripts simples
10 Exercices Corrigés

Concepts & Exercices
nom = input("Entrez votre nom: ")
print("Bonjour", nom)
Script simple avec entrée/sortie
Entrée utilisateur
input()
Lecture de données depuis le clavier
Affichage
print()
Affichage de texte ou de variables
Structure conditionnelle
if condition:
Exécution conditionnelle d'instructions
Commentaires
# Commentaire
Explication du code
🎯
Script : Ensemble d'instructions exécutées séquentiellement.
📏
Indentation : Python utilise l'indentation pour structurer le code.
📐
Variables : Stockent des données pour les manipuler.
📝
Documentation : Utiliser des commentaires pour expliquer le code.
💡
Conseil : Toujours commenter son code pour le rendre lisible
🔍
Attention : Respecter l'indentation (4 espaces ou tabulation)
Astuce : Tester son script régulièrement pendant l'écriture
📋
Méthode : Structurer son code en blocs logiques
Exercice 1
Écrire un script qui demande le nom de l'utilisateur et affiche "Bonjour [nom] !".
Exercice 2
Écrire un script qui demande deux nombres et affiche leur somme.
Exercice 3
Écrire un script qui demande un nombre et indique s'il est positif ou négatif.
Exercice 4
Écrire un script qui demande deux nombres et effectue la division du premier par le second.
Exercice 5
Écrire un script qui calcule la moyenne de 3 notes saisies par l'utilisateur.
Exercice 6
Écrire un script qui détermine si un nombre est pair ou impair.
Exercice 7
Écrire un script qui compare deux nombres et affiche le plus grand.
Exercice 8
Écrire un script qui convertit des degrés Celsius en Fahrenheit.
Exercice 9
Écrire un script qui détermine si une année est bissextile.
Exercice 10
Écrire un script qui calcule l'aire d'un cercle à partir de son rayon.
Corrigé : Exercices 1 à 5
1 Demande du nom
Fonction input() :

Input : Lit une chaîne de caractères saisie par l'utilisateur. Retourne toujours une chaîne (str).

Étape 1 : Demande du nom

On utilise input() pour demander le nom à l'utilisateur

nom = input("Entrez votre nom: ")
Étape 2 : Affichage du message

On utilise print() pour afficher le message de bienvenue

print("Bonjour", nom, "!")
Étape 3 : Résultat de l'exécution

Exemple d'exécution :

Entrez votre nom: Alice
Bonjour Alice !
Code complet :
# Demande du nom à l'utilisateur
nom = input("Entrez votre nom: ")
# Affichage du message de bienvenue
print("Bonjour", nom, "!")
Règles appliquées :

Input : input() lit une chaîne de caractères de l'utilisateur

Print : print() affiche les arguments séparés par des espaces

Variables : La variable nom stocke la chaîne saisie par l'utilisateur

2 Somme de deux nombres
Conversion de types :

int() : Convertit une chaîne en entier. input() retourne toujours une chaîne.

Étape 1 : Demande des deux nombres

On utilise input() pour demander les deux nombres

nombre1 = int(input("Entrez le premier nombre: "))
nombre2 = int(input("Entrez le deuxième nombre: "))
Étape 2 : Calcul de la somme

On additionne les deux nombres

somme = nombre1 + nombre2
Étape 3 : Affichage du résultat

On affiche le résultat de l'addition

print("La somme est:", somme)
Code complet :
# Demande des deux nombres
nombre1 = int(input("Entrez le premier nombre: "))
nombre2 = int(input("Entrez le deuxième nombre: "))

# Calcul de la somme
somme = nombre1 + nombre2

# Affichage du résultat
print("La somme est:", somme)
Étape 4 : Résultat de l'exécution

Exemple d'exécution :

Entrez le premier nombre: 15
Entrez le deuxième nombre: 23
La somme est: 38
Règles appliquées :

Conversion : int() convertit la chaîne en entier

Opération : + effectue l'addition de deux entiers

Sécurité : Si l'utilisateur entre une chaîne non numérique, il y aura une erreur

3 Nombre positif ou négatif
Structure conditionnelle :

if : Exécute un bloc de code si une condition est vraie.

Étape 1 : Demande du nombre

On demande un nombre à l'utilisateur

nombre = int(input("Entrez un nombre: "))
Étape 2 : Structure conditionnelle

On teste si le nombre est positif, nul ou négatif

if nombre > 0:
    print("Le nombre est positif")
elif nombre == 0:
    print("Le nombre est nul")
else:
    print("Le nombre est négatif")
Étape 3 : Indentation

Les instructions dans chaque bloc doivent être indentées

En Python, l'indentation est obligatoire pour définir les blocs

Code complet :
# Demande du nombre
nombre = int(input("Entrez un nombre: "))

# Vérification si le nombre est positif, nul ou négatif
if nombre > 0:
    print("Le nombre est positif")
elif nombre == 0:
    print("Le nombre est nul")
else:
    print("Le nombre est négatif")
Étape 4 : Résultats possibles

Exemples d'exécution :

Entrez un nombre: 5
Le nombre est positif
Entrez un nombre: -3
Le nombre est négatif
Entrez un nombre: 0
Le nombre est nul
Règles appliquées :

if-elif-else : Structure pour gérer plusieurs conditions

Indentation : Obligatoire en Python pour définir les blocs

Comparaison : Utilisation de >, ==, < pour comparer des valeurs

4 Division de deux nombres
Gestion des erreurs :

Division par zéro : Doit être évitée avec une structure conditionnelle.

Étape 1 : Demande des deux nombres

On demande le dividende et le diviseur

dividende = float(input("Entrez le dividende: "))
diviseur = float(input("Entrez le diviseur: "))
Étape 2 : Vérification du diviseur

On vérifie que le diviseur n'est pas zéro

if diviseur != 0:
    resultat = dividende / diviseur
    print("Le résultat de la division est:", resultat)
else:
    print("Erreur: Division par zéro impossible")
Étape 3 : Utilisation de float

On utilise float() pour accepter des nombres décimaux

Code complet :
# Demande des deux nombres
dividende = float(input("Entrez le dividende: "))
diviseur = float(input("Entrez le diviseur: "))

# Vérification du diviseur et calcul
if diviseur != 0:
    resultat = dividende / diviseur
    print("Le résultat de la division est:", resultat)
else:
    print("Erreur: Division par zéro impossible")
Étape 4 : Résultats possibles

Exemples d'exécution :

Entrez le dividende: 10
Entrez le diviseur: 3
Le résultat de la division est: 3.3333333333333335
Entrez le dividende: 10
Entrez le diviseur: 0
Erreur: Division par zéro impossible
Règles appliquées :

Sécurité : Vérifier le diviseur avant la division

Float : Utiliser float() pour les nombres décimaux

Division : L'opérateur / effectue une division flottante

5 Moyenne de 3 notes
Calcul de moyenne :

Moyenne : Somme des valeurs divisée par le nombre de valeurs.

Étape 1 : Demande des 3 notes

On demande les trois notes à l'utilisateur

note1 = float(input("Entrez la première note: "))
note2 = float(input("Entrez la deuxième note: "))
note3 = float(input("Entrez la troisième note: "))
Étape 2 : Calcul de la moyenne

On applique la formule de la moyenne

moyenne = (note1 + note2 + note3) / 3
Étape 3 : Affichage du résultat

On affiche la moyenne calculée

print("La moyenne est:", moyenne)
Étape 4 : Arrondi optionnel

On peut arrondir la moyenne à 2 décimales

print("La moyenne est:", round(moyenne, 2))
Code complet :
# Demande des 3 notes
note1 = float(input("Entrez la première note: "))
note2 = float(input("Entrez la deuxième note: "))
note3 = float(input("Entrez la troisième note: "))

# Calcul de la moyenne
moyenne = (note1 + note2 + note3) / 3

# Affichage du résultat
print("La moyenne est:", moyenne)
print("La moyenne arrondie est:", round(moyenne, 2))
Étape 5 : Résultat de l'exécution

Exemple d'exécution :

Entrez la première note: 15
Entrez la deuxième note: 12
Entrez la troisième note: 18
La moyenne est: 15.0
La moyenne arrondie est: 15.0
Règles appliquées :

Moyenne : Somme des valeurs divisée par le nombre de valeurs

Float : Utilisation de float() pour accepter des notes décimales

Arrondi : round(nombre, décimales) pour arrondir à n décimales

Corrigé : Exercices 6 à 10
6 Nombre pair ou impair
Opérateur modulo :

% : Renvoie le reste de la division entière.

Étape 1 : Demande du nombre

On demande un nombre à l'utilisateur

nombre = int(input("Entrez un nombre: "))
Étape 2 : Test de parité

Un nombre est pair si le reste de sa division par 2 est 0

if nombre % 2 == 0:
    print("Le nombre est pair")
else:
    print("Le nombre est impair")
Étape 3 : Explication du modulo

Exemples: 4 % 2 = 0 (pair), 5 % 2 = 1 (impair)

Code complet :
# Demande du nombre
nombre = int(input("Entrez un nombre: "))

# Test de parité
if nombre % 2 == 0:
    print("Le nombre est pair")
else:
    print("Le nombre est impair")
Étape 4 : Résultats possibles

Exemples d'exécution :

Entrez un nombre: 8
Le nombre est pair
Entrez un nombre: 7
Le nombre est impair
Règles appliquées :

Modulo : L'opérateur % renvoie le reste de la division entière

Pair : nombre % 2 == 0

Impair : nombre % 2 == 1

7 Comparaison de deux nombres
Comparaison de valeurs :

Opérateurs de comparaison : >, <, ==, >=, <=, !=

Étape 1 : Demande des deux nombres

On demande deux nombres à l'utilisateur

nombre1 = float(input("Entrez le premier nombre: "))
nombre2 = float(input("Entrez le deuxième nombre: "))
Étape 2 : Comparaison des nombres

On compare les deux nombres pour trouver le plus grand

if nombre1 > nombre2:
    print("Le plus grand nombre est:", nombre1)
elif nombre2 > nombre1:
    print("Le plus grand nombre est:", nombre2)
else:
    print("Les deux nombres sont égaux")
Étape 3 : Gestion de l'égalité

On traite le cas où les deux nombres sont égaux

Code complet :
# Demande des deux nombres
nombre1 = float(input("Entrez le premier nombre: "))
nombre2 = float(input("Entrez le deuxième nombre: "))

# Comparaison des nombres
if nombre1 > nombre2:
    print("Le plus grand nombre est:", nombre1)
elif nombre2 > nombre1:
    print("Le plus grand nombre est:", nombre2)
else:
    print("Les deux nombres sont égaux")
Étape 4 : Résultats possibles

Exemples d'exécution :

Entrez le premier nombre: 15
Entrez le deuxième nombre: 23
Le plus grand nombre est: 23
Entrez le premier nombre: 10
Entrez le deuxième nombre: 10
Les deux nombres sont égaux
Règles appliquées :

Comparaison : Utilisation de >, <, == pour comparer des valeurs

if-elif-else : Gestion de plusieurs cas possibles

Float : Utilisation de float() pour accepter des nombres décimaux

8 Conversion Celsius-Fahrenheit
Formule de conversion :

Celsius vers Fahrenheit : °F = (°C × 9/5) + 32

Étape 1 : Demande de la température en Celsius

On demande la température en degrés Celsius

celsius = float(input("Entrez la température en Celsius: "))
Étape 2 : Conversion en Fahrenheit

On applique la formule de conversion

fahrenheit = (celsius * 9/5) + 32
Étape 3 : Affichage du résultat

On affiche la température en Fahrenheit

print(f"{celsius}°C équivaut à {fahrenheit}°F")
Étape 4 : Utilisation des f-strings

On utilise une f-string pour formater le message

Code complet :
# Demande de la température en Celsius
celsius = float(input("Entrez la température en Celsius: "))

# Conversion en Fahrenheit
fahrenheit = (celsius * 9/5) + 32

# Affichage du résultat
print(f"{celsius}°C équivaut à {fahrenheit}°F")
Étape 5 : Résultat de l'exécution

Exemple d'exécution :

Entrez la température en Celsius: 25
25.0°C équivaut à 77.0°F
Règles appliquées :

Formule : °F = (°C × 9/5) + 32

F-strings : f"{variable}" pour intégrer des variables dans une chaîne

Float : Utilisation de float() pour les températures décimales

9 Année bissextile
Année bissextile :

Règles : Une année est bissextile si elle est divisible par 4, sauf si elle est divisible par 100 mais pas par 400.

Étape 1 : Demande de l'année

On demande une année à l'utilisateur

annee = int(input("Entrez une année: "))
Étape 2 : Logique de l'année bissextile

On applique les règles : divisible par 4, mais pas par 100, sauf si divisible par 400

if (annee % 4 == 0 and annee % 100 != 0) or (annee % 400 == 0):
    print(f"L'année {annee} est bissextile")
else:
    print(f"L'année {annee} n'est pas bissextile")
Étape 3 : Explication de la condition

(année divisible par 4 ET non divisible par 100) OU (année divisible par 400)

Code complet :
# Demande de l'année
annee = int(input("Entrez une année: "))

# Vérification si l'année est bissextile
if (annee % 4 == 0 and annee % 100 != 0) or (annee % 400 == 0):
    print(f"L'année {annee} est bissextile")
else:
    print(f"L'année {annee} n'est pas bissextile")
Étape 4 : Résultats possibles

Exemples d'exécution :

Entrez une année: 2024
L'année 2024 est bissextile
Entrez une année: 1900
L'année 1900 n'est pas bissextile
Entrez une année: 2000
L'année 2000 est bissextile
Règles appliquées :

Bissextile : (année % 4 == 0 and année % 100 != 0) or (année % 400 == 0)

Logique : Combinaison d'opérateurs and/or pour tester plusieurs conditions

Modulo : Utilisation de % pour tester la divisibilité

10 Aire d'un cercle
Formule de l'aire :

Aire d'un cercle : A = π × r²

Étape 1 : Importation de la constante pi

On importe la constante pi du module math

import math

rayon = float(input("Entrez le rayon du cercle: "))
Étape 2 : Calcul de l'aire

On applique la formule A = π × r²

aire = math.pi * rayon ** 2
Étape 3 : Affichage du résultat

On affiche l'aire calculée

print(f"L'aire du cercle de rayon {rayon} est: {aire}")
Étape 4 : Arrondi optionnel

On peut arrondir le résultat à 2 décimales

print(f"L'aire du cercle de rayon {rayon} est: {round(aire, 2)}")
Code complet :
import math

# Demande du rayon
rayon = float(input("Entrez le rayon du cercle: "))

# Calcul de l'aire
aire = math.pi * rayon ** 2

# Affichage du résultat
print(f"L'aire du cercle de rayon {rayon} est: {aire}")
print(f"L'aire arrondie est: {round(aire, 2)}")
Étape 5 : Résultat de l'exécution

Exemple d'exécution :

Entrez le rayon du cercle: 5
L'aire du cercle de rayon 5.0 est: 78.53981633974483
L'aire arrondie est: 78.54
Règles appliquées :

Import : import math pour accéder à math.pi

Puissance : ** est l'opérateur de puissance en Python

Formule : Aire = π × r²

Écriture de scripts simples Introduction à Python