Chaines de caracteres

Les chaines de caracteres sont partout : noms, textes, mots de passe... Apprends a les manipuler comme un pro avec l'indexation, le slicing et les methodes Python !

Difficulte:
35 min
+35 XP

Objectifs du cours

  • Comprendre l'indexation des chaines (positif et negatif)
  • Maitriser le slicing (extraction de sous-chaines)
  • Utiliser les methodes principales des chaines
  • Formater des chaines avec les f-strings
  • Manipuler et transformer du texte

Erreurs courantes a eviter

  • Oublier que les indices commencent a 0
  • Confondre chaine[1] (2eme caractere) et chaine[0] (1er)
  • Les chaines sont immuables : on ne peut pas les modifier directement
  • Oublier les guillemets pour les chaines dans les comparaisons

**Qu'est-ce que l'indexation ?**

Chaque caractere d'une chaine a un numero (index) qui permet de l'identifier.

**Indices positifs (de gauche a droite) :** ``` P Y T H O N 0 1 2 3 4 5 ```

**Indices negatifs (de droite a gauche) :** ``` P Y T H O N -6 -5 -4 -3 -2 -1 ```

**Syntaxe :** ```python mot = "PYTHON" print(mot[0]) # P (premier caractere) print(mot[5]) # N (sixieme caractere) print(mot[-1]) # N (dernier caractere) print(mot[-2]) # O (avant-dernier) ```

**Important :** - Les indices commencent a 0, pas a 1 ! - L'indice -1 represente toujours le dernier caractere

Python
# Indexation des chaines
mot = "PYTHON"

print("=== INDICES POSITIFS ===")
print(f"mot = '{mot}'")
print(f"mot[0] = '{mot[0]}'  (1er caractere)")
print(f"mot[1] = '{mot[1]}'  (2eme caractere)")
print(f"mot[5] = '{mot[5]}'  (6eme caractere)")

print("\n=== INDICES NEGATIFS ===")
print(f"mot[-1] = '{mot[-1]}'  (dernier)")
print(f"mot[-2] = '{mot[-2]}'  (avant-dernier)")
print(f"mot[-6] = '{mot[-6]}'  (premier = -len)")

# Parcourir caractere par caractere
print("\n=== PARCOURS AVEC INDICES ===")
for i in range(len(mot)):
    print(f"mot[{i}] = '{mot[i]}'")

# Application : verifier le premier/dernier caractere
print("\n=== APPLICATION ===")
email = "alice@email.com"
print(f"Email : {email}")
print(f"Premier caractere : '{email[0]}'")
print(f"Dernier caractere : '{email[-1]}'")
print(f"Commence par 'a' ? {email[0] == 'a'}")

Quiz de validation

1. Quel est l'indice du premier caractere d'une chaine ?

2. Que retourne 'Python'[-1] ?

3. Que retourne 'ABCDEF'[1:4] ?

4. Comment inverser une chaine en Python ?

5. Quelle methode transforme 'bonjour' en 'BONJOUR' ?

Pixel