Vous êtes sur la page 1sur 24

CHAINE DE CARACTÈRES

Définition :
une chaine de caractères est une successions de
caractères délimités par des guillemets (simples
ou doubles)

Création :
>>> s1=str() # chaine vide
>>> s2=str("Hello")
>>> s3=str(123)
Ou tout simplement :
>>> s1= "" # chaine vide
>>> s2= "Hello"
>>> s3= '123'
CHAINE DE CARACTÈRES
Exemple :
>>> s1= ' Welcome \n KPM '
>>> print(s1)
Welcome
KPM

Caractères spéciaux
\n
\t
\a cercle noir plein
\b Retour arrière

spéciaux comptent pour un seul caractère.


CHAINE DE CARACTÈRES
Caractères spéciaux :

>>> print \b\b Bonjour tous

>>> print('Bonjour a\a\\a tous') Bonjour a \a tous

>>> print('Bonjour a \t\bous') Bonjour a ous

>>> print('B\o\\njour \a tous') B\o\njour tous


CHAINE DE CARACTÈRES
Comparaison de deux chaines de caractères :

glow False

True

glow True

False

True

False
CHAINE DE CARACTÈRES
Accès aux valeurs chaine de caractères :
Etant un cas particulier des listes, nous allons réutiliser
les indices pour manipuler les chaînes de caractères.
>>> chaine= ' HELLO '
>>> print(chaine[0])
'H'

N.B : Les chaîne de caractère support le slicing


>>> print(chaine[:2]+chaine[-1])
' HEO '
CHAINE DE CARACTÈRES
Chaines de caractères sont immuables :
En python, les chaines de caractères ne peuvent pas subir
des modifications de la même manière que les liste.

Error
Mais, on peut créer des variations chaine de
caractères en créant de nouvelles chaines de caractères.

print(A)
PELLO

>>> A
HELLO
CHAINE DE CARACTÈRES
Les opérateurs de chaîne de caractères :
Concaténation :

>>> chaine
>>> chaine
K

Répétition chaîne

>>> A
Chaine de caractères
Fonctions utiles sur les chaînes de caractères:
Taille (Longueur) :

>>> len
7

Convertir un nombre en texte


>>> str(1234)

Evaluer une chaîne :

>>> x=3
>>> eval
8
Chaine de caractères
Méthodes utiles sur les chaînes de caractères:
Majuscule :
kpm
>>> A.upper()
'BONJOUR KPM'

Minuscule
>>> A.lower()
kpm'

>>> A.find
5
>>> A.find # la méthode find renvoie -1
-1
>>> A.find
-1
Chaine de caractères
Méthodes utiles sur les chaînes de caractères:
index)
Même fonctionnement que find sauf si le caractère n'est pas présent,
on a une erreur.
>>> A.index
5
>>> A.index
Error

Partitionner en fonction du séparateur.


>>> A=
>>> A.split
['Bonjour',

>>> A.split
['B nj ur MPSI1']
Chaine de caractères
Méthodes utiles sur les chaînes de caractères:
Récupérer une chaîne en fonction du séparateur.

>>> L
[ racada
join(L)
>>> B
'aracadara

>>> C
'a#racada
Remplacer une sous chaîne :

>>> A= MPSI1'
>>> A.replace
'Bonsoir MPSI1'
CHAINE DE CARACTÈRES

>>> print("C".join(["A", "D", "!"])) ACDC!

>>> print("L'informatique, c'est bon!"[2:-1]) informatique, c'est bon

>>> "Python, c'est bon !".split() ['Python,', "c'est", 'bon', '!']

>>> ".".join(["a", "b", "c"]) 'a.b.c'

>>> "*_*".join(list("azerty")) 'a*_*z*_*e*_*r*_*t*_*y'

>>> sorted ['a', 'e', 'r', 't', 'y', 'z']


Chaine de caractères
Exercice 1:
Ecrire une fonction isAnagram(CH, SH), prenant deux chaines de
caractères en argument, retourne vrai si les deux chaines sont de
même taille et se composes de même lettres.
Exemple :
>>> isAnagram(« KPM1", "1PMK")
True
>>> isAnagram(« KPM1" , « KPM2")
False

def isAnagram(CH, SH):


n,m=len(CH),len(SH)
if n!=m:
return False
for e in CH:
if e not in SH:
return False
return True
Chaine de caractères
Exercice 2:
RLE, est un algorithme de compression informatique
qui consiste à repérer toute suite de bits ou de caractères
identiques est remplacée par un couple (caractère, nombre).
Exemple: CCCCBBBRTTTTCCBBBBB donne: C4B3R1T4C2B5
1. Ecrire une fonction compresser(CH) qui permet de retourner la
chaîne compressée sans nombre.
Exemple : renvoie

def compresser(CH):

for i in range(len(CH)-1):
if CH[i]!=CH[i+1]:
u+=CH[i]
u+=CH[-1]
return u
Chaine de caractères
2. Ecrire une fonction occurrence(CH) qui permet de retourner

de la chaîne compressée
Exemple :
- CH , alors CH_compress
- >>> occurrence (CH)
- [3, 4, 1, 2, 4]
def occurrence(CH):
L=[]
SH=compresser(CH)
i=0
for e in SH:
d=0
while i<len(CH) and CH[i]==e:
d+=1
i+=1
L.append(d)
return L
DICTIONNAIRE :
Qu'est-ce qu'un dictionnaire ?
Un dictionnaire est un conteneur qui permet de stocker
des éléments sous forme clé : val

La clé est un objet non mutable

val est quelle valeur

Les clés sont toutes distinctes

des dictionnaires, nous permettent


de stocker des valeurs en utilisant nos propres indices..
DICTIONNAIRE :
Qu'est-ce qu'un dictionnaire ?
>>> stock = {'carotte 51, 'pommes 243 }
>>> stock
{'pommes': 243 carotte': 51} # aucun ordre !

>>> len(stock)
2

>>> 'pommes' in stock


True

>>> stock[ ]
243
>>> stock[ ]
KeyError
DICTIONNAIRE :
Qu'est-ce qu'un dictionnaire ?
Le dictionnaire vide se note { } ou dict().
>>> d1={}
>>> d2=dict() # d1 et d1 sont des dictionnaires vides

On peut modifier la valeur associée à une clé, ou


rajouter un nouveau couple clé/valeur
>>> stock = {'carotte 51, 'pommes 243 }

>>> stock
{'carotte 101, 'pommes 243 }

>>> stock
{ 243, }
DICTIONNAIRE :
Suppression valeur ?
>>> D razane", "age": 19, "class":
# supprimer la paire de cle age
>>> D
{"name": "razane

Vider le dictionnaire
>>> D.clear()
>>> D
{}

Supprimer le dictionnaire tout entier


>>> del D
DICTIONNAIRE :
Operations de bases sur les dictionnaires

Taille du dictionnaire len(D) 2

True

Afficher le dictionnaire print(D)

Itération par boucle for for cle in D:


print(D[cle])

L=list(D)
Itération par Liste
for e in L:
Print(D[e])
DICTIONNAIRE :
Manipulation des dictionnaires (méthodes)?
Python dispose de plusieurs méthodes permettant
la manipulation des dictionnaires:

D.copy()
D.fromkeys(keys, value) Crée et retourne un dictionnaire à partir de
la liste keys
D.get(key, default) Return la valeur de la clé key si ça existe et
la valeur default sinon.
D.items() Retourne la liste de paires (clé, valeur)
D.keys()
D.values() Retourne la liste de valeurs stockées dans

D.update(D2)
DICTIONNAIRE :
Exercice 1: Soit le dictionnaire suivant :
>>> d = {'nom': 'Dupuis', 'prenom': 'Jacque', 'age': 30}
1. Corriger l'erreur dans le prénom, la bonne valeur est 'Jacques'.
>>> d['prenom
2. Afficher la liste des clés du dictionnaire.
>>> d.keys()
3. Afficher la liste des valeurs du dictionnaire sous forme de liste.
>>> d.values()
4. Afficher la liste des paires clé/valeur du dictionnaire.
>>> d.items()
5. Afficher la phrase "Jacques Dupuis a 30 ans ".
>>> print prenom age
DICTIONNAIRE :
Exercice 2 :

manière globale comme suit : .


Lu","Ma","Me","Je
[25, ["Lu","Me Lu","Me
1.Ecrire une fonction «employes_par_age( age)» qui
renvoie la liste des noms des employés âgé plus que

def employes_par_age(age):
M=[]
for x in service:
if x[0]>=age :
M.append(x)
return M
DICTIONNAIRE

2.Ecrire une fonction «employes_par_jour( jour )» qui renvoie la liste


des noms des employés qui travaillent le jour passé en paramètre.
def employes_par_jour(jour):
M=[]
for e in service:
if jour in service[e][1]:
M.append(e)
return M
3.Ecrire une fonction «employes_bosseur()» qui renvoie la liste des
noms des employés qui travaillent le plus grand nombre de jours.

def employes_bosseur():
d={}
for e in service:
d[e]=len(service[e][1])
m=max(list(d.values()))
bos=[e for e in d if d[e]==m]
return bos

Vous aimerez peut-être aussi