Exercice Corrigé: Les chaînes de caractères en Python – Partie 1
Avec des exercices corrigés en Python, vous pratiquerez divers concepts du langage Python. Vous commencerez par des exercices Python de base à des exercices plus avancés. La solution est fournie pour chaque exercice. Vous devez essayer de résoudre chaque problème par vous-même avant de vérifier la solution. Si vous avez des questions concernant chaque problème, nous vous encourageons à les poster sur notre forum.
Exercice 1:
Écrire un programme Python pour calculer la longueur d’une chaîne de caractères.
Exemple:
Exemple de chaîne de caractères: waytolearnx Résultat: 11
str = 'waytolearnx' # Initialiser count à 0 pour garder une trace de la longueur de la chaîne. count = 0 # Parcourir chaque caractère de la chaîne str. for char in str: #Pour chaque caractère rencontré, le compteur est incrémenté de 1 count += 1 # Affiche le résultat final, qui représente la longueur de la chaînea. print(count)
Exercice 2:
Écrire un programme Python pour compter le nombre de caractères (fréquence des caractères) dans une chaîne de caractères.
Exemple:
Exemple de chaîne de caractères: zooom Résultat: {'z': 1, 'o': 3, 'm': 1}
str = 'zooom' # Initialiser un dictionnaire vide nommé 'dict' pour stocker les fréquences de caractères. dict = {} # Parcourir chaque caractère 'n' de la chaîne str. for n in str: # Récupère les clés (caractères uniques) du dictionnaire dict. keys = dict.keys() # Vérifier si le caractère 'n' est déjà une clé dans le dictionnaire. if n in keys: # Si 'n' est déjà une clé, sa valeur (fréquence) est incrémentée de 1. dict[n] += 1 else: # Si 'n' n'est pas une clé, il est ajouté au dictionnaire avec une fréquence de 1. dict[n] = 1 # Afficher le dictionnaire contenant la fréquence de chaque caractère de la chaîne. print(dict)
Exercice 3:
Ecrivez un programme Python pour récupérer une chaîne composée des 2 premiers et des 2 derniers caractères d’une chaîne donnée. Si la longueur de la chaîne est inférieure à 2, il affiche une chaîne vide.
Exemple:
Exemple de chaîne: waytolearnx Résultat: wanx
str = 'waytolearnx' # Vérifier si la longueur de la chaîne 'str' est inférieure à 2 caractères. if len(str) < 2: # Si la chaîne est plus courte que 2 caractères, une chaîne vide est affichée. print('') # Si la chaîne a au moins 2 caractères, concaténer les deux premiers caractères # et les deux derniers caractères de la chaîne et afficher le résultat. print(str[0:2] + str[-2:])
Exercice 4:
Ecrivez un programme Python pour générer une chaîne de caractères à partir d'une chaîne donnée dont toutes les occurrences du premier caractère seront remplacées par '@', à l'exception du premier caractère lui-même.
Exemple:
Exemple de chaîne: redémarrer Résultat: redéma@@e@
str = 'redémarrer' # Récupérer le premier caractère de la chaîne str et le stocker dans la variable char. char = str[0] # Remplacer toutes les occurrences du caractère char par @ dans la chaîne str. str = str.replace(char, '@') # Reconstruire la chaîne 'str' en plaçant le 'char' original comme premier caractère # suivi de la chaîne modifiée à partir du deuxième caractère. str = char + str[1:] # Afficher la chaîne de caractères 'str' modifiée. print(str)
Exercice 5:
Écrivez un programme Python pour obtenir une seule chaîne à partir de deux chaînes données, séparées par un espace et échanger les deux premiers caractères de chaque chaîne.
Exemple:
Exemple de chaînes: 'abc', 'xyz' Résultat: 'xyc abz'
str1 = 'abc' str2 = 'xyz' # Créer une nouvelle chaîne 'new_str1' en prenant les deux premiers caractères de 'str2' et en les # combinant avec les caractères de 'str1' en commençant par le troisième caractère. new_str1 = str2[:2] + str1[2:] # Créer une nouvelle chaîne 'new_str2' en prenant les deux premiers caractères de 'str1' et en les # combinant avec les caractères de 'str2' à partir du troisième caractère. new_str2 = str1[:2] + str2[2:] # Concaténer 'new_str1', un espace, et 'new_str2' pour créer une seule chaîne. print(new_str1 + ' ' + new_str2)
Exercice 6:
Écrire un programme Python pour supprimer le nième caractère (index) d'une chaîne de caractères non vide.
Exemple:
Exemple de chaîne: 'hello' index: 1 Résultat: hllo
str = 'hello' n = 1 # Créer une nouvelle chaîne 'str1' qui inclut tous les caractères depuis le début de 'str' jusqu'au caractère à l'index 'n' (non inclus). str1 = str[:n] # Créer une nouvelle chaîne 'str2' qui inclut tous les caractères à partir du caractère à l'index 'n+1' jusqu'à la fin de 'str'. str2 = str[n+1:] # Afficher le résultat de la concaténation de 'str1' et 'str2', en supprimant le caractère à l'index 'n'. print(str1 + str2)
Exercice 7:
Écrire un programme Python pour compter les occurrences de chaque mot dans une phrase donnée.
Exemple:
Exemple de chaîne: 'le chemin le plus court' Résultat: {'le': 2, 'chemin': 1, 'plus': 1, 'court': 1}
str = 'le chemin le plus court' # Créez un dictionnaire vide pour stocker les fréquences des mots. counts = dict() # Découpe la chaîne d'entrée en une liste de mots en utilisant des espaces comme séparateurs et la stocke dans la liste 'words'. words = str.split() # Parcourez chaque mot de la liste 'words'. for word in words: # Vérifier si le mot se trouve déjà dans le dictionnaire 'counts'. if word in counts: # Si le mot figure déjà dans le dictionnaire, sa fréquence est incrémentée de 1. counts[word] += 1 else: # Si le mot ne figure pas dans le dictionnaire, ajoutez-le au dictionnaire avec une fréquence de 1. counts[word] = 1 # Afficher le dictionnaire 'counts', qui contient les fréquences des mots. print(counts)
Exercice 8:
Écrire un script Python qui prend une entrée de l'utilisateur et affiche cette entrée en majuscules et en minuscules.
Exemple:
Entrez une chaîne de caractères: Python Résultat: python PYTHON
# Invitez l'utilisateur à saisir et stockez les données dans str. str = input("Entrez une chaîne de caractères:") # Afficher le message saisie de l'utilisateur convertie en majuscules. print(str.upper()) # Afficher le message saisie de l'utilisateur convertie en minuscules. print(str.lower())
Exercice 9:
Écrire un programme Python qui accepte en entrée une séquence de mots séparés par des virgules et qui affiche les mots séparés en ordre (alphanumérique).
Exemple:
Exemple de chaîne: Emily, Bob, Alex, Jean Résultat: Alex, Bob, Jean, Emily
# Inviter l'utilisateur à saisir une séquence de mots séparés par des virgules et la stocker dans la variable str. str = input("Entrer une séquence de mots séparés par des virgules") # Diviser l'entrée 'str' en une liste de mots en utilisant la virgule comme séparateur et la stocker dans la liste 'words'. words = [i for i in str.split(",")] # Convertir la liste 'words' en un Set pour supprimer les mots en double, puis la reconvertir en une liste. # Trier la liste résultante par ordre alphabétique et joindre les mots par des virgules. # Enfin, afficher la liste triée et séparée par des virgules des mots uniques. print(",".join(sorted(list(set(words)))))
Exercice 10:
Écrire une fonction Python pour créer une chaîne HTML avec des balises autour du (des) mot(s).
Exemple:
addTags('i', 'Hello') -> '<i>Hello</i>' addTags('b', 'Hello World!') -> '<b>Hello World!</b>
# Définir une fonction qui prend deux arguments, 'balise' et 'str'. def addTags(balise, str): # Utilise le formatage de chaîne pour créer et renvoyer une nouvelle chaîne avec la 'balise' fournie entourant 'str'. return "<%s>%s" % (balise, str, balise) print(addTags('i', 'Hello')) print(addTags('b', 'Hello World!'))
Exercice 11:
Écrire une fonction Python pour insérer une chaîne de caractères au milieu d'une chaîne de caractères.
Exemple:
insertStr('{{}}', 'Python') -> {{Python}} insertStr('[[]]', 'HTML') -> [[HTML]]
# Définissez une fonction qui prend deux arguments, 'sign' et 'str'. def insertStr(sign, str): # Créer et renvoyer une nouvelle chaîne en concaténant les deux premiers caractères de 'sign', # suivis de 'str', puis les autres caractères de 'sign' à partir du troisième caractère, return sign[:2] + str + sign[2:] print(insertStr('{{}}', 'Python')) print(insertStr('[[]]', 'HTML'))
Exercice 12:
Ecrivez une fonction Python pour obtenir une chaîne composée de 4 copies des deux derniers caractères d'une chaîne spécifiée (la longueur doit être d'au moins 2).
Exemple:
copy_end('Hello') -> lolololo copy_end('Waytolearnx') -> nxnxnxnx
# Définir une fonction qui prend un argument, 'str'. def copy_end(str): # Extraire les deux derniers caractères de la chaîne d'entrée 'str' et les stocker dans 'new_str'. new_str = str[-2:] # Multipliez 'new_str' par 4 et renvoyez le résultat, en répétant effectivement les deux derniers caractères quatre fois. return new_str * 4 # Appelez la fonction copy_end avec différentes chaînes et affichez les résultats. print(copy_end('Hello')) print(copy_end('Waytolearnx'))
Exercice 13:
Écrivez une fonction Python pour obtenir une chaîne composée des trois premiers caractères d'une chaîne spécifiée. Si la longueur de la chaîne est inférieure à 3, elle renvoie la chaîne originale.
Exemple:
extract_three('waytolearnx') -> way extract_three('ali') -> ali
# Définir une fonction qui prend un argument, 'str'. def extract_three(str): # Vérifie si la longueur de la chaîne 'str' est supérieure à 3. if len(str) > 3: # Si la chaîne est plus longue que 3 caractères, elle renvoie les trois premiers caractères en utilisant le découpage en tranches. return str[:3] else: # Si la chaîne de caractères est inférieure ou égale à 3 caractères, la chaîne entière est renvoyée. return str print(extract_three('waytolearnx')) print(extract_three('ali'))
Exercice 14:
Écrire un programme Python pour obtenir la dernière partie d'une chaîne de caractères avant un caractère spécifié.
Exemple:
Exemple de chaîne : https://www.waytolearnx.com/exercises-python/liste https://www.waytolearnx.com/exercises (-) https://www.waytolearnx.com/exercises-python (/)
str = 'https://www.waytolearnx.com/exercises-python/liste' # Utiliser la méthode rsplit() avec '-' comme séparateur pour diviser la chaîne à partir de la droite, # et [0] pour obtenir la partie avant le dernier caractère '-'. Ensuite, affichez le résultat. print(str.rsplit('-', 1)[0]) # Utiliser la méthode rsplit() avec '/' comme séparateur pour diviser la chaîne à partir de la droite, # et [0] pour obtenir la partie avant le dernier caractère '/'. Ensuite, affichez le résultat. print(str.rsplit('/', 1)[0])
Exercice 15:
Écrire une fonction Python pour inverser une chaîne de caractères si sa longueur est un multiple de 4.
Exemple:
reverse('Ruby') -> ybuR reverse('Python') -> Python
# Définir une fonction qui prend un argument 'str'. def reverse(str): # Vérifie si la longueur de la chaîne str est divisible par 4 sans reste. if len(str) % 4 == 0: # Si la longueur est divisible par 4, inversez les caractères dans str et joignez-les. return ''.join(reversed(str)) # Si la longueur de 'str' n'est pas divisible par 4, renvoyer 'str' tel quel. return str print(reverse('Ruby')) print(reverse('Python'))
Éditeur de code Python: Testez votre code en ligne!
Exercice Corrigé: Les chaînes de caractères en Python - Partie 2
Exercice Corrigé: Les chaînes de caractères en Python - Partie 3
Exercice Corrigé: Les chaînes de caractères en Python - Partie 4
Exercice Corrigé: Les chaînes de caractères en Python - Partie 5
Exercice Corrigé: Les chaînes de caractères en Python - Partie 6

- Exercice Corrigé Python pour Débutant – Partie 1
- Exercice Corrigé Python pour Débutant – Partie 2
- Exercice Corrigé Python pour Débutant – Partie 3
- Exercice Corrigé Python pour Débutant – Partie 4
- Exercice Corrigé: Boucle While en Python
- Exercice Corrigé: Boucle For en Python
- Exercice Corrigé: Les chaînes de caractères en Python – Partie 1
- Exercice Corrigé: Les chaînes de caractères en Python – Partie 2
- Exercice Corrigé: Les chaînes de caractères en Python – Partie 3
- Exercice Corrigé: Les chaînes de caractères en Python – Partie 4
- Exercice Corrigé: Les chaînes de caractères en Python – Partie 5
- Exercice Corrigé: Les chaînes de caractères en Python – Partie 6
- Exercice Corrigé: Booléens en Python
- Exercice Corrigé: Les fonctions en Python
- Exercice Corrigé: Math en Python
- Exercice Corrigé: Gestion des exceptions en Python
- Exercice Corrigé: Les fichiers en Python – Partie 1
- Exercice Corrigé: Les fichiers en Python – Partie 2
- Exercice Corrigé: Les listes en Python – Partie 1
- Exercice Corrigé: Les listes en Python – Partie 2
- Exercice Corrigé: Les listes en Python – Partie 3
- Exercice Corrigé: Les listes en Python – Partie 4
- Exercice Corrigé: Les listes en Python – Partie 5
- Exercice Corrigé: Les listes en Python – Partie 6
- Exercice Corrigé: Les listes en Python – Partie 7
- Exercice Corrigé: Les listes en Python – Partie 8
- Exercice Corrigé: Les listes en Python – Partie 9
- Exercice Corrigé: Les listes en Python – Partie 10
- Exercice Corrigé: Les listes en Python – Partie 11
- Exercice Corrigé: Les listes en Python – Partie 12
- Exercice Corrigé: Les tuples en Python
- Exercice Corrigé: Les ensembles(Set) en Python
- Exercice Corrigé: Les dictionnaires en Python – Partie 1
- Exercice Corrigé: Les dictionnaires en Python – Partie 2
- Exercice Corrigé: Les dictionnaires en Python – Partie 3
- Exercice Corrigé: Les dictionnaires en Python – Partie 4
- Exercice Corrigé: Les expressions régulières en Python – Partie 1
- Exercice Corrigé: Les expressions régulières en Python – Partie 2
- Exercice Corrigé: Les expressions régulières en Python – Partie 3
- Exercice Corrigé: Les expressions régulières en Python – Partie 4
- Exercice Corrigé: Les classes POO Python – Partie 1
- Exercice Corrigé: Les classes POO Python – Partie 2
- Exercice Corrigé: Les classes POO Python – Partie 3
- Exercice Corrigé: Les classes POO Python – Partie 4
- Exercice Corrigé: Les classes POO Python – Partie 5
- Exercice Corrigé: Les classes POO Python – Partie 6
- Exercice Corrigé: Les classes POO Python – Partie 7
- Exercice Corrigé: Les classes POO Python – Partie 8
- Exercice Corrigé: Les classes POO Python – Partie 9
- Exercice Corrigé: NumPy – Partie 1
- Exercice Corrigé: NumPy – Partie 2
- Exercice Corrigé: NumPy – Partie 3
- Exercice Corrigé: NumPy – Partie 4
- Exercice Corrigé: NumPy – Partie 5
- Exercice Corrigé: NumPy – Partie 6
- Exercice Corrigé: NumPy – Partie 7
- Exercice Corrigé: NumPy – Partie 8
- Exercice Corrigé: Python Avancé – Partie 1
- Exercice Corrigé: Python Avancé – Partie 2
- Exercice Corrigé: Python Avancé – Partie 3
- Exercice Corrigé: Python Avancé – Partie 4
- Exercice Python Corrigé En Ligne – Partie 1
- Exercice Python Corrigé En Ligne – Partie 2
- Exercice Python Corrigé En Ligne – Partie 3
Bonjour,
Concernant l’exercice 9, il me semble (mais je peux me tromper, mon incompréhension est peut-être dans le mot alpha-numérique) qu’il y a une erreur dans la solution proposée.
Ma compréhension de l’énoncé est la suivante, trier par ordre alphabétique la liste suivante :
Emily, Bob, Alex, Jean
or la solution proposé retourne : Alex, Bob, Jean, Emily au lieu de : Alex, Bob, Emily, Jean
Le code pour retourner la liste triée par ordre alphabétique :
Note que si vous vouliez trie sur la valeur ascii de la première lettre de chaque mot le code propose ne fonctionne pas non plus.