Adloun

Comparer des chaînes de caractères

Exercice supplémentaire · niveau 2 · sciences numériques et technologie (seconde), chapitre 3 — Instructions conditionnelles · Construire une condition

Énoncé

Évaluer "pomme" < "poire", "Zoé" < "anne" et "10" < "9". Expliquer la règle de comparaison, et en tirer une mise en garde.

Corrigé

"pomme" < "poire" vaut False, "Zoé" < "anne" vaut True, et "10" < "9" vaut True.

Les chaînes se comparent caractère par caractère, selon leur code numérique (l'ordre Unicode), à la façon d'un dictionnaire. Pour pomme et poire, les deux premières lettres coïncident, et l'on tranche sur la troisième : m vient après i, donc pomme est la plus grande.

Deux surprises en découlent. Toutes les majuscules précèdent les minuscules (Z a le code , a le code ) : l'ordre n'est pas l'ordre alphabétique usuel. Et surtout, "10" < "9" est vrai parce qu'on compare le caractère 1 au caractère 9comparer des nombres restés sous forme de chaînes donne un ordre faux. C'est une raison de plus de convertir les saisies avec int() dès leur lecture.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.