Leçon 4

Les chaînes de caractères en Python

Dans le répertoire Python créez un dossier cours4. Il contiendra tous les fichiers de cette leçon.

Longueur d'une chaîne de caractères

Pour obtenir la longueur d'une chaîne (c'est-à-dire le nombre de caractères qui la composent, qu'on appelle également sa taille), il suffit d'utiliser l'instruction len() .
On obtient la longueur sous la forme d'une valeur entière.
Copiez le code du programme longueur_chaîne.py ci-dessous.


Caractères et indice

Copiez le code du programme indice.py ci-dessous.



Modifiez le programme précédent en ajoutant les lignes ci-dessous.

Dans une chaîne de caractères, chaque caractère est identifié par un numéro, appelé son indice. L'indice du premier caractère d'une chaîne est 0 et non 1.
Les caractères d'une chaîne sont donc numérotés de de 0 à sa longueur -1.
Il est important de noter que toutes les opérations applicables aux chaînes de caractères ne modifient JAMAIS la chaîne initiale, mais renvoient de nouvelles chaînes. Une fois créée, une chaîne de caractères ne peut plus être modifiée. On dit qu'elle est immuable. On ne peut pas écrire mot[0]="k" pour changer le premier caractère de la chaîne mot, il faut créer une chaine mot1 vide (mot1="") et la construire en commençant par le caractère "k".

Autres outils

Minuscules et majuscules

lower() et upper() permettent respectivement de convertir une chaîne en minuscules et en majuscules. Elles sont pratiques pour réaliser différents tests ou pour uniformiser une chaîne de caractères.

Copiez le code du programme conversion.py ci-dessous.


Code ASCII

L'American Standard Code for Information Interchange (Code américain normalisé pour l'échange d'information), plus connu sous l'acronyme ASCII ([askiː]) est une norme de codage de caractères en informatique.

Modifiez le programme précédent en ajoutant les lignes ci-dessous.


Exercices

Pour les exercices suivants on utilisera la boucle for chaque fois que cela est possible.

Exercice1

Tapez le script caractere_compteur ci-dessous.


Dans ce script, la variable c indique l'indice du caractère ciblé dans la chaîne phrase et phrase[c] le caractère de la chaîne.
Si l'on veut utiliser une boucle for on écrira le script chaineBoucleFor ci-dessous que vous testerez.


Exercice2

  1. Taper le script chaine.py ci-dessous et le tester.
  2. Modifier le script précédent pour ne faire apparaître qu'un seul caractère sur 2. Aide : Algorithme
  3. Modifier le script précédent pour obtenir la même phrase mais sans les espaces. Aide : Algorithme
  4. Modifier le script précédent pour obtenir deux phrases : la première moitie puis la seconde. Aide : Algorithme

Exercice 3

Ecrivez un programme voyelles.py qui :

  1. Lit un mot saisie par l'utilisateur.
  2. Affiche le nombre de voyelles contenue dans le mot.
Aide : Algorithme

Exercice 4

Ecrivez un programme majuscule.py qui :

  1. Lit une phrase saisie par l'utilisateur.
  2. Affiche le nombre de fois que l'on trouve une majuscule dans la phrase.

On pourra utiliser l'information suivante : les codes ASCII des majuscules sont compris dans l'intervalle [65,90].

Aide : Algorithme

Exercice 5

Ecrivez un programme compter_caractere.py qui :

  1. Lit une phrase saisie par l'utilisateur.
  2. Lit un caractère saisie par l'utilisateur.
  3. Affiche le nombre de fois que l'on trouve le caractère dans la phrase.

Ce programme ne fera pas de distinction entre les majuscules et les minuscules.

Aide : Algorithme

Exercices 6

Ecrivez un programme etoiles.py qui:

  1. Lit une phrase saisie par l'utilisateur.
  2. Affiche une nouvelle phrase en insérant le caractère * entre les caractères de la phrase saisie.
Aide : Algorithme

Exercices 7

Ecrivez un programme inverse.py qui:

  1. Lit une phrase saisie par l'utilisateur.
  2. Affiche la même phrase mais à l'envers
Aide : Algorithme

Exercices 8

Un palindrome est un mot que l'on peut lire de gauche à droite ou de droite à gauche comme LAVAL, RADAR, ROTOR.
Écrivez un programme palindrome.py qui lit un mot et répond si ce mot est un palindrome ou pas.
Le programme pourra afficher ; "Radar est un palindrome", autrement dit il ne distinguera pas les majuscules des minuscules.

Aide : Algorithme