Exercice 4 - Échange d'éléments · Bac Numérique et Sciences Informatiques Métropole Candidat libre 2021 (sujet 2)
Thème : Mise au point des programmes : bugs, assertions et tests · Tiré du sujet Métropole Candidat libre 2 (2021)
Énoncé
EXERCICE 4 (4 points)
Cet exercice porte sur la programmation en général et la récursivité en particulier.
On s'intéresse dans cet exercice à un algorithme de mélange des éléments d'une liste.
Pour la suite, il sera utile de disposer d'une fonction echange qui permet d'échanger dans une liste lst les éléments d'indice i1 et i2.
Expliquer pourquoi le code Python ci-dessous ne réalise pas cet échange et en proposer une modification.
def echange(lst, i1, i2):
lst[i2] = lst[i1]
lst[i1] = lst[i2]
def echange(lst, i1, i2):

Corrigé
Corrigé proposé par AprenAI (non officiel)
Expliquer pourquoi le code Python ci-dessous ne réalise pas cet échange
Réponse : La première instruction `lst[i2] = lst[i1]` écrase la valeur initialement présente à l'indice `i2` par celle de l'indice `i1`. La valeur initiale de `lst[i2]` est donc perdue. La ligne suivante affecte à nouveau cette même valeur à `lst[i1]`, si bien que les deux cases se retrouvent avec la valeur initiale de `lst[i1]`.
La réponse de la question restante et l’explication pas à pas sont réservées aux membres Premium. Premium
Résous-le ici : correction automatique, indices et corrigé détaillé.
‹ Exercice 5 - Questions 1 à 3 · Métropole 2 remplacement 2022 · Exercice 5 · Métropole 2 remplacement 2021 ›