MarkDocs

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èresPlageCodes 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

AlgorithmePythonRôleType paramètreType résultatExemple
chr(N)chr(N)Retourne le caractère de code ASCII NEntierCaractèrechr(65) → 'A'
ord(C)ord(C)Retourne le code ASCII du caractère CCaractèreEntierord('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] ou ch[-1]

Fonctions prédéfinies sur les chaînes

Fonctions de base

AlgorithmePythonRô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

AlgorithmePythonRô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 :

  1. Convertir en entier : int(X)
  2. Convertir en chaîne : str(int(X))
  3. Accéder aux chiffres par index