Chaînes de caractères :

publicité
Informatique et Sciences du Numérique 2012
Chaînes de caractères :
La puissance d'un langage se mesure entre autres à sa faculté à traiter les chaînes de
caractères. Python est doté de nombreuses possibilités de traitement de chaînes.
Déclaration et initialisation d'une chaîne, type:
Dans un Terminal, sur la ligne de commande :
>>>cadena='des mots'
# Remarquer les quotes ' ' que l'on peut aussi remplacer par " ".
>>>print (cadena)
>>>type(cadena)
La dernière instruction affiche <class 'str'>. La variable cadena est reconnu par Python comme
une variable de type string ou chaîne.
Autres types :
Tester :
>>>a=10
>>>type(a)
>>>b=(10==2)
>>>type(b)
>>>a=3.14159
>>>type(a)
 Quels sont les types affichés?
Revenons au type string (chaîne de caractères).
Accès à un caractère de la chaîne :
>>>cadena='des mots'
>>>print (cadena[1])
Les caractères sont numérotés de gauche à droite. Le premier
caractère a le numéro 0 (zéro)
Pour désigner un caractère, on utilise nom_variable [NUMERO] (crochets [ ])
 Qu'affiche >>>print (cadena[0]) ?
 Qu'affiche >>>print (cadena[4]) ?
 Pourquoi >>>print (cadena[3]) semble ne rien afficher?
 Pourquoi >>>print (cadena[8]) provoque-t-il une erreur? Que signifie, en français, cette
erreur?
Une fonction intéressante:
La fonction len(nom_variable) donne la longueur ( nombre de caractères) de la chaîne contenue dans
nom_variable.
>>>cadena='des mots'
>>>print (len(cadena))
8
Informatique et Sciences du Numérique 2012
 Expliquer alors complètement pourquoi >>>print (cadena[8]) provoque une erreur?
 Qu'affiche >>>print (cadena[len(cadena)-1])? (toujours sur la chaîne démo 'des mots')
 Excel
possède une fonction semblable. Quel est son nom? Rechercher en lançant
Excel.
 Excel possède aussi une fonction de concaténation (vue précédemment). Quel est son
nom?
 Ecrire un programme qui affiche la chaîne de caractères 'noel' à l'envers.
Spécifications :
- une variable de type chaîne contenant 'noel'
- le programme devra effectuer une concaténation
- le programme devra contenir un commentaire
- son nom après sauvegarde sera 'palindrome.py'
- le programme devra marcher aussi si on remplace 'noel' par 'kool'
Extraire une partie de chaîne :
Toujours à partir de la chaîne démo 'des mots'.
>>>cadena='des mots'
>>>extrait=cadena[2:5]
>>>print(extrait)
sm
On utilise nom_variable[i:j] pour extraire dans la chaîne nom_variable les caractères de la position i
(inclus) à j (non inclus).
 Quelle est la bonne syntaxe pour extraire 'mot' :
extrait=cadena[4:6] ou extrait=cadena[5:8]
ou extrait=cadena[4:7] ou extrait=cadena[5:7] ?
 Excel
possède une fonction semblable. Quelles sont les différences entre Python et
Excel?

Ecrire un programme qui, à partir des mots : 'potion, 'être', 'gamma' affiche le mot
'programmation'. Remarque : cadena[i:] extrait de la position i (inclus) jusqu'à la fin de la chaîne.
 Révisions
Sans écrire le programme, dire seulement quelle instruction ou fonction, il faut utiliser pour :
obtenir la chaîne 'voir' à partir de la chaîne 'savoir'
obtenir la longueur de la chaîne 'pas très long'
accéder à la lettre accentuée de la chaîne précédente
former la chaîne 'chansonnette' à partir des chaînes 'chante' et 'sonnet'
former la chaîne 'aisé' à partir de la chaîne 'aseptisé'
obtenir la chaîne 'passeport' à partir des chaînes 'port' et 'passe'
 Ecrire un programme qui transforme 'option informatique' en 'portique'.
Téléchargement