Python (école d'ingénieur) · Chapitre 1 · Exercice
Permutation de variables
Bases de Python, variables et types
Énoncé
Proposer un algorithme permettant de permuter les contenus de deux variables a et b sans utiliser l'affectation multiple de Python (a, b = b, a). Expliquer pourquoi la succession d'instructions suivantes est incorrecte :
b = a
a = bCorrigé
Pour échanger les valeurs, la succession séquentielle b = a puis a = b échoue. En effet :
b = a: lie le nombà l'objet actuellement pointé para. La valeur initiale debest perdue. Désormais,aetbpointent vers le même objet en mémoire.a = b: lie le nomaà l'objet pointé parb. Commebpointe déjà sur l'ancienne valeur dea, cette instruction n'a aucun effet. Les deux variables finissent par posséder la même valeur, à savoir l'ancienne valeur dea.
Pour permuter correctement de manière séquentielle, il est nécessaire d'introduire une variable temporaire pour conserver l'adresse de l'objet initialement lié à a avant qu'il ne soit écrasé :
temp = a
a = b
b = temp100 % gratuit
La suite du chapitre est sur Adloun
- 9 autres exercices corrigés dans ce chapitre, et 9 à chercher avec le tuteur
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.