ENSC - Université Ibn Tofail
TP2 : manipulation des chaînes de caractères en python
Prérequis : Notions en algorithmique
Introduction
Le but de cette séance est de comprendre le fonctionnement des chaînes de caractères en
Python et de réaliser des opérations sur ces chaînes (extraction, concaténation, etc.)
1 Exercices d’échauffement
Assignons la chaîne de caractères ENSC-UIT-Kenitra à une variable :
facName = "ENSC−UIT−K e n i t r a "
Il est possible de connaître la longueur de la chaîne de caractères en utilisant la fonction len() :
lengthName = l e n ( facName )
p r i n t ( lengthName ) # it should display 14
Pour extraire des morceaux de la chaîne de caractères, nous pouvons procéder de la façon
suivante :
subName1 = facName [m: n ]
Attention ! le morceau de chaîne contiendra les caractères de la chaîne originale depuis l’indice
m inclus jusqu’à l’indice n - 1 inclus. Il faudrait aussi s’assurer que m <= n < len(facName).
Il est également possible d’extraire des éléments de la chaîne de caractères sans spécifier les
deux indices. Testez et affichez le résultat des commandes suivantes
subName1 = facName [ 0 : 3 ]
subName2 = facName [ : 3 ]
subName1 = facName [ 3 : ]
Pour la suite du TP, n’hésitez pas à regarder votre cours et la documentation en ligne.
2 Exercices d’application
2.1 Exercice 1
1. Extraire de deux manières différentes les suites de caractères ENSC-UIT et Kenitra à partir
de la chaîne de caractère facName. Placer les sous-chaînes extraites dans deux variables stringA
et stringB puis afficher ces deux variables.
2. En utilisant les deux variables stringA et stringB, reconstituez la chaîne ENSC-UIT-Kenitra
et affectez la à une variable nommée rec. Affichez cette variable.
27 novembre 2024 Pr. Khaoula Boukir Page 1/2
2.2 Exercice 2 ENSC - Université Ibn Tofail
2.2 Exercice 2
Dans cet exercice, on demande de modifier la manière dont les résultats sont affichés dans
l’exercice 2 du TP1. Au lieu d’afficher Année bissextile, vous allez afficher : L’année xxxx (xxxx
est remplacé par l’année en question) est bissextile. Le même traitement doit être fait si l’année n’est
pas bissextile. Faites l’affichage avec print de deux manières différentes : avec et sans conversion de
l’année en chaîne de caractères.
2.3 Exercice 3
1. Écrire un programme qui permet à un utilisateur de renseigner une chaîne de caractère et
ensuite de lui afficher celle ci caractère par caractère sur chaque ligne en utilisant une boucle
while.
2. Ajouter des instructions permettant de vérifier si la chaîne renseignée contient le caractère ‘e’.
Si c’est le cas, le programme doit également afficher le nombre d’occurrences de la lettre (i.e
combien de caractère ‘e’ sont dans la chaîne)
2.4 Exercice 4
Écrire un programme qui permet d’inviter l’utilisateur de renseigner une chaîne de caractère
et qui lui affiche sa taille sans utiliser la fonction prédéfinie len() dans Python. Vérifiez aussi à la
fin de votre programme si vous obtenez le même résultat avec la fonction len()
3 Pour aller plus loin (Bonus)
3.1 Génération aléatoire d’une chaîne de caractère
Un étudiant souhaite utiliser un système de génération automatique de phrases afin de l’aider
à rédiger son rapport sur le rôle de l’intelligence artificielle. Nous proposons de réaliser un pro-
gramme simple permettant de générer des phrases aléatoires parlant de l’intelligence artificielle. Le
programme peut être élaboré selon le principe suivant :
— un ensemble de phrases parlant de l’intelligence artificielle est stocké dans une base de données
composée de plusieurs chaînes de caractères. Chaque chaîne correspond à une phrase
— l’utilisateur pose une question au programme. Si la question contient les mots "intelligence
artificielle", le programme doit lui générer une des phrases de la base de données, choisie
aléatoirement
— si la question posée par l’utilisateur ne contient pas les mots "intelligence artificielle" ou "IA",
le programme doit afficher le message suivant
Désolé, selon ma dernière mise à jour, je ne peux répondre qu’aux questions liées au
domaine de l’IA
Indice :
La fonction [Link]() du module random permet de choisir aléatoirement un élément
dans une liste passée en paramètres
27 novembre 2024 Pr. Khaoula Boukir Page 2/2