Telechargé par EssafI MossaB

chapitre 9 chaine

publicité
Algorithmique et techniques de programmation
PROF : S.BENGHAZOUANI
Chapitre 10 : Les chaines de caractères
Le type de données str représente une séquence de caractères Unicode.
Operations sur les chaines de caractères
>>> Nom = 'fathi' # entre apostrophes
>>> print Nom
>>> print type(Nom)
>>> Prenom = "MOHAMMED"
# on peut utiliser les guillemets
>>> print Prenom
>>> print Nom,Prenom
# ne pas oublier la virgule
>>> chaine = 'Aujourd'hui'
>>> chaine = 'Aujourd\'hui'
>>> print chaine
>>> chaine = "Aujourd'hui"
>>> print chaine
>>> chaine = 'Première ligne\nDeuxième ligne'
>>> print chaine
>>> chaine = """Première ligne
Deuxième ligne"""
>>> print chaine
On ne peut pas mélanger les chaines de caractères et les entiers (ici type str et type int) :
>>> chaine = '17.45'
>>> print type(chaine)
>>> chaine = chaine + 2
La fonction float() permet de convertir un type str en type float
>>> nombre = float(chaine)
>>> print nombre
>>> print type(nombre)
>>> nombre = nombre + 2
# en plus court : nombre += 2
>>> print nombre
La concaténation +
>>>
>>>
>>>
>>>
chaine = Nom + Prenom
print chaine
chaine = Prenom + ' ' + Nom
print chaine
La fonction len()
retourne la longueur de la chaîne de caractères :
>>> print len(chaine)
Répétition
>>>s1=’stop’
1
Algorithmique et techniques de programmation
PROF : S.BENGHAZOUANI
>>>S2=s1*3
>>>s2
Accès
On peut accéder à chaque caractère de la chaine, mais on ne peut pas le modifier.
S=”python”
S[0] donne ‘p’
S[5] donne’ n’
S[-1] donne ‘n’
S[-3] donne ‘h’
Extraction
S[1:5] donne ‘ytho’ #5non compris
S[-3 :] donne ‘hon’#-3 compris jusqu’à la fin
S[2 :] donne’thon’#2 compris jusqu’à la fin
S [ ::2] donne’pto’# du début à la fin mais de 2 en 2
TD N°5
Les chaînes de caractères
EXERCICE N° 1 :
Ecrire un programme qui demande l'introduction du nom et du prénom de l'utilisateur et qui affiche
alors la longueur totale du nom sans compter les espaces. (Écrire une fonction qui calcul la longueur)
Exemple:
Introduisez votre nom et votre prénom:
Ahmed benjelloun
Bonjour Ahmed benjelloun !
Votre nom est composé de 11 lettres.
EXERCICE N° 2 :
a) Ecrire un programme qui lit un texte, la mémorise dans une variable TXT
b) Ecrire une fonction qui calcul la longueur L de la chaîne TXT.
c) Ecrire une fonction qui calcul le nombre d’apparition d’un caractère quelconque donné par
l’utilisateur dans le texte.
d) Ecrire une fonction qui recopie la chaine (dans une nouvelle variable) en l'inversant.
voici une petite phrase !
! esarhp etitep enu iciov
EXERCICE N° 3:
Ecrire une fonction « supprimer_cara (TXT,X) » qui enlève toutes les apparitions du caractère X
dans le texte TXT. Les modifications se feront dans une autre variable TXT2.
Exemple:
Cette ligne contient quelques lettres e.
Ctt lign contint qulqus lttrs .
2
Algorithmique et techniques de programmation
PROF : S.BENGHAZOUANI
EXERCICE N° 4:
1 L’ordre lexicographique est celui du dictionnaire.
Ecrire un programme qui lit deux chaînes de caractères CH1 et CH2, les compare lexicographiquement
et affiche le résultat:
Exemple:
Introduisez la première chaîne: ABC
Introduisez la deuxième chaîne: abc
"ABC" précède "abc"
2 Ecrire une fonction trier_liste_chaine(L) qui recoit en argument une liste L de n chaines de caractères
alphabétiques, la fonction trie et retourne la liste Ltriée suivant l'order alphabétique.
EXERCICE N° 5:
1 Ecrire une fonction alphabetique(ch) qui recoit en argument une chaine de caractères ch, la
fonction retourne la chaine ch après avoir supprimé tous les caractères qui ne sont pas des caractères
alphabétiques dans cette chaine.
2 Ecrire un programme qui lit deux chaînes de caractères CH1 et CH2 et qui copie la première moitié
de CH1 et la première moitié de CH2 dans une troisième chaîne CH3. Afficher le résultat.
EXERCICE N° 6:
Ecrire un programme qui lit un verbe régulier en "er" au clavier et qui en affiche la conjugaison au
présent de l'indicatif de ce verbe. Contrôlez s'il s'agit bien d'un verbe en "er" avant de conjuguer.
Exemple:
Verbe : fêter
je fête
tu fêtes
il fête
nous fêtons
vous fêtez
ils fêtent
EXERCICE N° 7:
Ecrire un programme qui lit une chaîne de caractères CH et qui convertit toutes les majuscules dans des
minuscules et vice-versa. Le résultat sera mémorisé dans une autre variable CH2.
EXERCICE N° 8:
Ecrire un programme qui vérifie si une chaîne CH introduite au clavier est un palindrome: utiliser une fonction
Rappel: Un palindrome est un mot qui reste le même qu'on le lise de gauche à droite ou de droite à
gauche:
Exemples: PIERRE ==> n'est pas un palindrome
OTTO
==> est un palindrome
23432
==>
est un palindrome
3
Algorithmique et techniques de programmation
PROF : S.BENGHAZOUANI
EXERCICE N° 9:
4
Téléchargement