Devoir Python - 2
Partie 1 : Exercices d'affectation
Exercice 1 : Affectation simple
# Que contiendront les variables x, y et z après ces affectations ?
x = 10
y=x*2
z=y-3
x=z+4
Réponse :
x = 10
y = 10 * 2 = 20
z = 20 - 3 = 17
x = 17 + 4 = 21
Finalement : x = 21, y = 20, z = 17
Exercice 2 : Inversion avec variable supplémentaire
# Complétez le code suivant pour échanger les valeurs de a et b avec l’utilisation d’une
variable temporaire.
a = 30
b = 40
temp = a
a=b
b = temp
print("a =", a, "b =", b)
Réponse :
a = 30, b = 40
Après l'échange : a = 40, b = 30
Partie 2 : Programmes simples à analyser ou corriger
Programme 1 : Erreur dans le calcul de la somme
# Trouvez l'erreur dans ce programme qui calcule la somme des 10 premiers entiers.
i=1
somme = 0
while i < 10:
somme = somme + i
i = i + 1 # Quelle est l'erreur dans la condition d'arrêt ?
Réponse :
La condition "i < 10" fait que la boucle ne traite pas 10. Il faut remplacer "<" par "<=" pour
inclure 10 dans la somme.
Après correction :
i=1
while i <= 10: # Correction de la condition
somme = somme + i
i=i+1
Le programme calcule correctement la somme des entiers de 1 à 10.
Programme 2 : Erreur dans la multiplication
# Trouvez l'erreur dans ce programme qui multiplie deux nombres.
a=5
b = 10
product = a + b # Erreur ici, il faut multiplier et non additionner
Réponse :
La ligne "product = a + b" doit être corrigée en "product = a * b" pour effectuer une
multiplication.
Le programme corrigé :
product = a * b
Programme 3 : Erreur d'index dans une liste
# Trouvez l'erreur dans ce programme d'indexation dans une liste.
numbers = [1, 2, 3, 4, 5]
print(numbers[5]) # L'index 5 dépasse la taille de la liste.
Réponse :
L'index 5 est hors de portée, car la liste a des indices de 0 à 4. La ligne doit être corrigée
comme suit :
print(numbers[4]) # Affiche le dernier élément de la liste
Programme 4 : Erreur dans le calcul de l'âge
# Corrigez ce programme qui calcule l'âge d'une personne à partir de son année de
naissance.
year_of_birth = 1990
current_year = 2024
age = current_year - year_of_birth + 1 # L'addition est incorrecte.
Réponse :
La ligne "age = current_year - year_of_birth + 1" est incorrecte car l'addition n'est pas
nécessaire.
Il faut simplement soustraire l'année de naissance de l'année courante.
Le programme corrigé :
age = current_year - year_of_birth
Partie 3 : Programmes à réaliser
Programme 1 : Calcul de la multiplication
Réalisez un programme qui :
1. Demande à l'utilisateur d'entrer deux nombres.
2. Calcule le produit des deux nombres.
3. Affiche le résultat.
Réponse :
a = int(input("Entrez le premier nombre : "))
b = int(input("Entrez le deuxième nombre : "))
print("Le produit des deux nombres est :", a * b)
Programme 2 : Vérification si un nombre est pair ou impair
Réalisez un programme qui :
1. Demande à l'utilisateur d'entrer un nombre entier.
2. Vérifie si ce nombre est pair ou impair.
3. Affiche un message correspondant.
Réponse :
n = int(input("Entrez un nombre entier : "))
if n % 2 == 0:
print(n, "est un nombre pair.")
else:
print(n, "est un nombre impair.")