SlideShare une entreprise Scribd logo
1  sur  2
CPGE informatique (python)
Pr. A. DOURHRI 2019/2020
1
Chaînes de caractères (classe Str)
1) Définition et notation
Une chaîne de caractères (string en anglais et Str en python) est une suite finie de caractères
consécutifs notée entre apostrophes ou guillemets (Les caractères se trouvent dans
plusieurs formes: lettres,chiffres, signes de ponctuation, caractères spéciaux ….)
Exemple
>>>chaine='Ceci est une chaine'
>>>ch="Cela en est une autre"
>>>ch2=" " #chaine vide
>>>ch3=' ' #chaine vide aussi
>>>ch4="L'école"
2) Accès aux éléments
>>>ch='cpge pcsi'
>>>ch[2] =>3ème caractère ( 'g' )
>>>ch[1:6] =>Sous-chaine du 2° au 6° caractère( 'pge p' )
>>>ch[:4] =>Sous-chaine du 1° au 4° caractère( 'cpge' )
>>>ch[2:4]='ci' =>Erreur car une chaine n'est pas modifiable
3) Surcharge des opérateurs +(concaténation) et *(duplication)
>>>ch1="cpge"
>>>ch2="ken"
>>>ch3=ch1+" "+ch2 ==> "cpge ken"
>>>ch4=ch3*3 ==> " cpge kencpge kencpge ken"
4) Fonctions et méthodes usuelles
Fonction ou méthode len(ch) ord(c) chr(n)
Role nbr d'éléments code du caractère c caractère du code n
Fonction ou méthode ch.upper() ch.lower() ch1.count(ch2)
Role convertit une chaine
en majuscules
convertit une chaine en
minuscules
nbr d'occurrences de
la chaine ch2 dans
ch1
Fonction ou méthode ch1.index(ch2) L=ch.split(car_sep) ch="car_sep".join(L)
Role la position de ch2 dans
ch1 (la 1ère
occurrence à
gauche trouvée)
stocke, dans L, les sous
chaînes de la chaine ch
(car_sep : caractère
séparateur)
stocke, dans ch, les
éléments de la liste L en
les liant par le caractère
car_sep
Fonction ou méthode ch1.replace(c1,c2[,nb]) ch=str(nb) ch.isalpha()
Role remplace nb premières
occurrences de la chaine
c1 par la chaine c2 dans
la chaine ch1
retourne, dans ch, le
nombre nb au format
chaîne de caractères
retourne True si la
chaîne ch ne contient
que des caractères
alphabétiques et
retourne False sinon
CPGE informatique (python)
Pr. A. DOURHRI 2019/2020
2
Autres méthodes : isupper(), islower(), isalnum(), isdigit(), isspace()
5) Test d'appartenance (if ... in ..../if ... not in ..)
- d'un caractère dans une chaine:
>>>if 'm' in ch3:
print("ok")
- d'une chaine dans une autre:
>>>if 'pc' in ch3:
print("ok")
6) Conversion du type Str à un autre type (et de ce dernier vers Str)
-On peut convertir une valeur d’un type simple e vers une chaîne de
caractères à l’aide de str(e)
>>>str(1.2)
>>>'1.2'
-En revanche, la conversion depuis un type "string":
>>>int('123')
123
>>>float('12.53')
12.53
>>>list('12.53')
['1', '2', '.', '5', '3']
Exercice1
1) Ecrire un script python permettant de conjuguer un verbe du 1° groupe régulier (donné à
l'infinitif) dans le présent de l'indicatif
2) Ecrire une fonction testant si une chaine est un palindrome.
Un palindrome est un texte ou un mot dont l'ordre des lettres reste le même qu'on le lise de
gauche à droite ou de droite à gauche. Exemples : ‘ici’,’mon nom’,’bob’……….
Exercice2
La légende raconte que Jules César transmettait ses messages en décalant chaque lettre de
3 positions (ce qu'on appelle la clé de cryptage): A devient D, B devient E,... W devient Z, X
devient A, Y devient B et Z devient C. Les chiffres sont décalés de la même façon, les autres
caractères (espaces, virgules, points...) ne sont pas modifiés.
1) Ecrire deux fonctions crypter_Cesar(ch) et decrypter_Cesar(ch) réalisant le cryptage et le
décryptage d’un message représenté par une chaîne ch.
2) Pour plus de sécurité, la clé de cryptage est variable et doit figurer dans les arguments des
deux fonctions précédentes :
-écrire crypterCesar(ch,x) et decrypterCesar(ch,x) réalisant le chiffrement et le déchiffrement
d’un message représenté par une chaîne ch avec la clé de cryptage x.

Contenu connexe

Similaire à Chaines cours exo

Développement informatique : Chaines de caractères et expressions regulières
Développement informatique : Chaines de caractères et expressions regulièresDéveloppement informatique : Chaines de caractères et expressions regulières
Développement informatique : Chaines de caractères et expressions regulièresECAM Brussels Engineering School
 
Chapitre 2: String en Java
Chapitre 2:  String en JavaChapitre 2:  String en Java
Chapitre 2: String en JavaAziz Darouichi
 
ch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdfch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdfFadouaBouafifSamoud
 
Fonctions chaine
Fonctions chaineFonctions chaine
Fonctions chaineAfef Ilahi
 
Chapitre5 les chaînes de caractères - Copy.pptx
Chapitre5 les chaînes de caractères - Copy.pptxChapitre5 les chaînes de caractères - Copy.pptx
Chapitre5 les chaînes de caractères - Copy.pptxFerdawsBNasrBSalah
 
Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)salah fenni
 
Cours_chaine_de_caracteres_STR_Python.pdf
Cours_chaine_de_caracteres_STR_Python.pdfCours_chaine_de_caracteres_STR_Python.pdf
Cours_chaine_de_caracteres_STR_Python.pdfABDESSELAM ARROU
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdfsalah fenni
 
Les fonctions de XPath et XSLT.ppt
Les fonctions de XPath et XSLT.pptLes fonctions de XPath et XSLT.ppt
Les fonctions de XPath et XSLT.pptCyrilleKevinBakouan
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxbetalab
 
Seance 4- Programmation en langage C
Seance 4- Programmation en langage CSeance 4- Programmation en langage C
Seance 4- Programmation en langage CFahad Golra
 
En route vers Java 21 - Javaday Paris 2023
En route vers Java 21 - Javaday Paris 2023En route vers Java 21 - Javaday Paris 2023
En route vers Java 21 - Javaday Paris 2023Jean-Michel Doudoux
 

Similaire à Chaines cours exo (17)

Développement informatique : Chaines de caractères et expressions regulières
Développement informatique : Chaines de caractères et expressions regulièresDéveloppement informatique : Chaines de caractères et expressions regulières
Développement informatique : Chaines de caractères et expressions regulières
 
Chapitre 2: String en Java
Chapitre 2:  String en JavaChapitre 2:  String en Java
Chapitre 2: String en Java
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
ch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdfch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdf
 
Fonctions chaine
Fonctions chaineFonctions chaine
Fonctions chaine
 
Chapitre5 les chaînes de caractères - Copy.pptx
Chapitre5 les chaînes de caractères - Copy.pptxChapitre5 les chaînes de caractères - Copy.pptx
Chapitre5 les chaînes de caractères - Copy.pptx
 
Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)
 
Cours_chaine_de_caracteres_STR_Python.pdf
Cours_chaine_de_caracteres_STR_Python.pdfCours_chaine_de_caracteres_STR_Python.pdf
Cours_chaine_de_caracteres_STR_Python.pdf
 
Chapitre 2
Chapitre 2Chapitre 2
Chapitre 2
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
 
Les fonctions de XPath et XSLT.ppt
Les fonctions de XPath et XSLT.pptLes fonctions de XPath et XSLT.ppt
Les fonctions de XPath et XSLT.ppt
 
5e8a000b9840a.pdf
5e8a000b9840a.pdf5e8a000b9840a.pdf
5e8a000b9840a.pdf
 
1763685
17636851763685
1763685
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptx
 
Initiation r
Initiation rInitiation r
Initiation r
 
Seance 4- Programmation en langage C
Seance 4- Programmation en langage CSeance 4- Programmation en langage C
Seance 4- Programmation en langage C
 
En route vers Java 21 - Javaday Paris 2023
En route vers Java 21 - Javaday Paris 2023En route vers Java 21 - Javaday Paris 2023
En route vers Java 21 - Javaday Paris 2023
 

Chaines cours exo

  • 1. CPGE informatique (python) Pr. A. DOURHRI 2019/2020 1 Chaînes de caractères (classe Str) 1) Définition et notation Une chaîne de caractères (string en anglais et Str en python) est une suite finie de caractères consécutifs notée entre apostrophes ou guillemets (Les caractères se trouvent dans plusieurs formes: lettres,chiffres, signes de ponctuation, caractères spéciaux ….) Exemple >>>chaine='Ceci est une chaine' >>>ch="Cela en est une autre" >>>ch2=" " #chaine vide >>>ch3=' ' #chaine vide aussi >>>ch4="L'école" 2) Accès aux éléments >>>ch='cpge pcsi' >>>ch[2] =>3ème caractère ( 'g' ) >>>ch[1:6] =>Sous-chaine du 2° au 6° caractère( 'pge p' ) >>>ch[:4] =>Sous-chaine du 1° au 4° caractère( 'cpge' ) >>>ch[2:4]='ci' =>Erreur car une chaine n'est pas modifiable 3) Surcharge des opérateurs +(concaténation) et *(duplication) >>>ch1="cpge" >>>ch2="ken" >>>ch3=ch1+" "+ch2 ==> "cpge ken" >>>ch4=ch3*3 ==> " cpge kencpge kencpge ken" 4) Fonctions et méthodes usuelles Fonction ou méthode len(ch) ord(c) chr(n) Role nbr d'éléments code du caractère c caractère du code n Fonction ou méthode ch.upper() ch.lower() ch1.count(ch2) Role convertit une chaine en majuscules convertit une chaine en minuscules nbr d'occurrences de la chaine ch2 dans ch1 Fonction ou méthode ch1.index(ch2) L=ch.split(car_sep) ch="car_sep".join(L) Role la position de ch2 dans ch1 (la 1ère occurrence à gauche trouvée) stocke, dans L, les sous chaînes de la chaine ch (car_sep : caractère séparateur) stocke, dans ch, les éléments de la liste L en les liant par le caractère car_sep Fonction ou méthode ch1.replace(c1,c2[,nb]) ch=str(nb) ch.isalpha() Role remplace nb premières occurrences de la chaine c1 par la chaine c2 dans la chaine ch1 retourne, dans ch, le nombre nb au format chaîne de caractères retourne True si la chaîne ch ne contient que des caractères alphabétiques et retourne False sinon
  • 2. CPGE informatique (python) Pr. A. DOURHRI 2019/2020 2 Autres méthodes : isupper(), islower(), isalnum(), isdigit(), isspace() 5) Test d'appartenance (if ... in ..../if ... not in ..) - d'un caractère dans une chaine: >>>if 'm' in ch3: print("ok") - d'une chaine dans une autre: >>>if 'pc' in ch3: print("ok") 6) Conversion du type Str à un autre type (et de ce dernier vers Str) -On peut convertir une valeur d’un type simple e vers une chaîne de caractères à l’aide de str(e) >>>str(1.2) >>>'1.2' -En revanche, la conversion depuis un type "string": >>>int('123') 123 >>>float('12.53') 12.53 >>>list('12.53') ['1', '2', '.', '5', '3'] Exercice1 1) Ecrire un script python permettant de conjuguer un verbe du 1° groupe régulier (donné à l'infinitif) dans le présent de l'indicatif 2) Ecrire une fonction testant si une chaine est un palindrome. Un palindrome est un texte ou un mot dont l'ordre des lettres reste le même qu'on le lise de gauche à droite ou de droite à gauche. Exemples : ‘ici’,’mon nom’,’bob’………. Exercice2 La légende raconte que Jules César transmettait ses messages en décalant chaque lettre de 3 positions (ce qu'on appelle la clé de cryptage): A devient D, B devient E,... W devient Z, X devient A, Y devient B et Z devient C. Les chiffres sont décalés de la même façon, les autres caractères (espaces, virgules, points...) ne sont pas modifiés. 1) Ecrire deux fonctions crypter_Cesar(ch) et decrypter_Cesar(ch) réalisant le cryptage et le décryptage d’un message représenté par une chaîne ch. 2) Pour plus de sécurité, la clé de cryptage est variable et doit figurer dans les arguments des deux fonctions précédentes : -écrire crypterCesar(ch,x) et decrypterCesar(ch,x) réalisant le chiffrement et le déchiffrement d’un message représenté par une chaîne ch avec la clé de cryptage x.