Caractères et Chaînes
Manipulation des caractères et des chaînes de caractères
III. Manipulation des Caractères et des Chaînes
1. Le Type Caractère
Un caractère peut être :
- Une lettre :
["A".."Z", "a".."z"] - Un chiffre :
["0".."9"] - Un symbole :
"$", "#", "/", etc.
Une valeur de type caractère doit être placée entre guillemets ou quotes : "a" ou 'a'
Table ASCII des caractères courants
| Type de caractères | Plage | Codes ASCII |
|---|---|---|
| Lettres majuscules | "A" .. "Z" | 65 .. 90 |
| Lettres minuscules | "a" .. "z" | 97 .. 122 |
| Chiffres | "0" .. "9" | 48 .. 57 |
Dans un programme, on peut manipuler une variable de type caractère par sa valeur ou par son code ASCII.
Fonctions prédéfinies sur les caractères
| Algorithme | Python | Rôle | Type paramètre | Type résultat | Exemple |
|---|---|---|---|---|---|
| chr(N) | chr(N) | Retourne le caractère de code ASCII N | Entier | Caractère | chr(65) → 'A' |
| ord(C) | ord(C) | Retourne le code ASCII du caractère C | Caractère | Entier | ord('a') → 97 |
Exemples d'utilisation
Checking Python Tutor server...
Activité : Conversion majuscule ↔ minuscule
Énoncé : Écrire un programme qui permet de convertir un caractère majuscule C en minuscule.
Information : La différence entre le code ASCII du même caractère en majuscule et en minuscule est 32.
Exemple :
- Avant conversion : C = "E"
- Après conversion : C = "e"
Solutions :
Checking Python Tutor server...
2. Le Type Chaîne de Caractères
Une chaîne de caractères est un objet qui contient des caractères.
Une chaîne est dite vide si elle contient 0 caractères.
Indexation des chaînes
On peut accéder à chaque caractère de la chaîne par son indice entre crochets :
Checking Python Tutor server...
Accès aux caractères :
- Premier caractère :
ch[0] - Troisième caractère :
ch[2] - Dernier caractère :
ch[len(ch) - 1]ouch[-1]
Fonctions prédéfinies sur les chaînes
Fonctions de base
| Algorithme | Python | Rôle |
|---|---|---|
ch ← majus(ch) | ch = ch.upper() | Convertit la chaîne en majuscules |
L ← Long(ch) | L = len(ch) | Retourne la longueur de la chaîne |
+ | + | Concatène plusieurs chaînes |
CH ← convch(N) | CH = str(N) | Convertit un nombre en chaîne |
X ← valeur(ch) | X = int(ch) ou X = float(ch) | Convertit une chaîne en nombre |
Exemples :
Checking Python Tutor server...
Fonctions avancées
| Algorithme | Python | Rôle |
|---|---|---|
P ← pos(ch1, ch2) | P = ch2.find(ch1) | Retourne la position de la première occurrence de ch1 dans ch2 (retourne -1 si non trouvé) |
S ← sous_chaine(ch, d, f) | S = ch[d:f] | Retourne une partie de la chaîne de la position d à f (f exclu) |
ch ← effacer(ch, d, f) | ch = ch[:d] + ch[f+1:] | Efface des caractères de la position d à f |
B ← estnum(ch) | B = ch.isdecimal() | Retourne True si la chaîne est convertible en nombre |
Exemples :
Checking Python Tutor server...
Exercices d'Application
Exercice 1 : Somme des chiffres (version chaîne)
Écrire un programme qui permet de calculer et afficher la somme des chiffres qui constituent un nombre entier N de quatre chiffres.
Exemple : N = 3587 ⇒ S = 3 + 5 + 8 + 7 = 22
Checking Python Tutor server...
Exercice 2 : Permutation premier et dernier chiffre
Écrire un programme qui permet de saisir un entier E strictement positif (formé d'au moins trois chiffres), de permuter son premier chiffre avec son dernier chiffre et de l'afficher.
Exemples :
- E = 548 → le résultat est 845
- E = 128976 → le résultat est 628971
Checking Python Tutor server...
Exercice 3 : Somme premier et dernier chiffre d'un réel
Écrire un programme qui permet de calculer et afficher la somme du premier chiffre et du dernier chiffre de la partie entière d'un réel X donné (on suppose que la partie entière est composée d'au moins deux chiffres).
Exemples :
- X = 358.253 ⇒ S = 3 + 8 = 11
- X = 73946.103 ⇒ S = 7 + 6 = 13
Checking Python Tutor server...
Astuce : Pour extraire la partie entière d'un réel et la manipuler comme une chaîne :
- Convertir en entier :
int(X) - Convertir en chaîne :
str(int(X)) - Accéder aux chiffres par index