Exercice Corrigé: Les chaînes de caractères en Python – Partie 4

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 trouver le premier mot répété dans une chaîne donnée.

Exemple:

Exemple de chaîne: "je pense donc je suis"
Résultat: je
Solution:

# Définir une fonction qui prend une chaîne de caractères str en entrée.
def get_first_repeated(str):
    # Créez un Set vide temp pour stocker les mots uniques rencontrés.
    temp = set()
    
    # Parcourir chaque mot de la chaîne str en la divisant par des espaces.
    for word in str.split():
        # Vérifier si le mot se trouve déjà dans le Set temp.
        if word in temp:
            return word  # Renvoie le premier mot répété trouvé.
        else:
            temp.add(word) # Ajouter le mot au Set temp s'il ne s'y trouve pas déjà.

    return 'None' # Si aucun mot répété n'est trouvé.

# Appeler la fonction.
print(get_first_repeated("je pense donc je suis"))
 

Exercice 2:

Écrire un programme Python pour supprimer les espaces dans une chaîne de caractères donnée.

Exemple:

Exemple de chaîne: "a b c"
Résultat: abc
Solution:

str = "a b c"

#Utilisez la méthode 'replace' pour supprimer les espaces dans str
str = str.replace(' ', '')

# Afficher le résultat.
print(str)
 

Exercice 3:

Écrire un programme Python pour déplacer les espaces au début d’une chaîne de caractères donnée.

Exemple:

Exemple de chaîne: "a b c"
Résultat: "  abc"
Solution:

str = "a b c"

# Créer une liste char contenant tous les caractères de str qui ne sont pas des espaces.
char = [ch for ch in str if ch != ' ']

# Calculer le nombre d'espaces dans str.
spaces = len(str) - len(char)

# Créez une chaîne de caractères result contenant le même nombre d'espaces au début.
result = ' ' * spaces

# Concaténer la chaîne result avec les caractères de char et la placer entre guillemets.
result = '"' + result + ''.join(char) + '"'

# Afficher le résultat.
print(result)
 

Exercice 4:

Écrire un programme Python pour trouver le maximum de caractères dans une chaîne de caractères donnée.

Exemple:

Exemple de chaîne: "Welcome to ele"
Résultat: e
Solution:

str = "Welcome to ele"

# Définir la taille du jeu de caractères ASCII (256 caractères).
ASCII_SIZE = 256
    
# Créez une liste 'ctr' avec 256 éléments, initialisée à 0. Elle stockera le nombre de chaque caractère.
ctr = [0] * ASCII_SIZE
    
# Initialiser les variables 'max' à -1 et 'ch' à une chaîne vide.
max = -1
ch = ''
    
# Itérer sur chaque caractère i de la chaîne str.
for i in str:
    # Incrémente le nombre de caractères 'i' dans la liste 'ctr'.
    ctr[ord(i)] += 1

# Parcourir à nouveau chaque caractère i de la chaîne str.
for i in str:
    # Vérifie si le nombre de caractères 'i' est supérieur à la valeur courante 'max'.
     if max < ctr[ord(i)]:
        max = ctr[ord(i)]  # Mettre à jour 'max' avec le nouveau nombre maximum.
        ch = i  # Update 'ch' to the character with the maximum count.

# Affiche le caractère dont le nombre est le plus élevé.
print(ch)
 

Exercice 5:

Écrire un programme Python pour mettre en majuscules la première et la dernière lettre de chaque mot d'une chaîne donnée.

Exemple:

Exemple de chaîne: "welcome to waytolearnx"
Résultat: WelcomE TO WaytolearnX
Solution:

str = "welcome to waytolearnx"

# Mettez la première lettre de chaque mot en majuscule et stockez le résultat dans 'str' et 'result'.
str = result = str.title()

# Initialiser result pour stocker le résultat final.
result = ""

# Diviser le str en mots et parcourir chaque mot.
for word in str.split():
    # Ajouter le mot dont la dernière lettre est en majuscule à la chaîne result, suivi d'un espace.
    result += word[:-1] + word[-1].upper() + " "

# Supprime l'espace de fin et afficher la chaîne modifiée.
print(result[:-1])
 

Exercice 6:

Écrire un programme Python pour supprimer les caractères dupliqués d'une chaîne de caractères donnée.

Exemple:

Exemple de chaîne: "ab c ab"
Résultat: ab c
Solution:

# Importez la classe OrderedDict du module collections
from collections import OrderedDict

str = "ab c ab"

# Créer un objet OrderedDict pour stocker les caractères uniques et leur ordre.
unique_char = OrderedDict.fromkeys(str)

# Joindre les clés de l'OrderedDict pour former une chaîne sans doublons
result = "".join(unique_char.keys())

# Afficher le résultat
print(result)
 

Exercice 7:

Ecrivez un programme Python pour calculer la somme des chiffres dans une chaîne donnée.

Exemple:

Exemple de chaîne: "1ab2c3d"
Résultat: 6
Solution:

str = "1ab2c3d"

# Initialiser une variable pour stocker la somme des chiffres
sum = 0

# Itérer sur chaque caractère de la chaîne de caractères
for char in str:
    # Vérifier si le caractère courant est un chiffre
    if char.isdigit():
        # Convertir le caractère numérique en un entier
        digit = int(char)

        # Ajouter le chiffre à la somme
        sum += digit

# Afficher la somme des chiffres
print(sum)
 

Exercice 8:

Écrire un programme Python pour supprimer les zéros initiaux d'une adresse IP.

Exemple:

Exemple de chaîne: "255.025.01.01"
Résultat: 255.25.1.1
Solution:

ip_add = "255.025.01.01"

# Diviser l'adresse IP en octets et convertir chaque octet en un nombre entier sans zéros en tête.
res = ".".join([str(int(i)) for i in ip_add.split(".")]) 

# Afficher le résultat
print(res)
 

Exercice 9:

Écrire un programme Python pour trouver la longueur maximale des 0 consécutifs dans une chaîne binaire donnée.

Exemple:

Exemple de chaîne: "1110000100110"
Résultat: 4
Solution:

str = "1110000100110"

# Découpe la chaîne sur '1' et calcule la longueur de chaque sous-chaîne  
# Retourne la longueur maximale des 0
res = max(map(len,str.split('1'))) 

# Afficher le résultat
print(res)
 

Exercice 10:

Écrire un programme Python pour supprimer tous les doublons consécutifs d'une chaîne de caractères donnée.

Exemple:

Exemple de chaîne: "abbbbbcddd"
Résultat: abcd
Solution:

# Importer groupby de itertools
from itertools import groupby 

str = "abbbbbcddd"

# Initialiser une chaîne result vide
result = []

# Grouper une chaîne en caractères consécutifs
for (key,group) in groupby(str):
  # N'ajoutez qu'une seule occurrence de chaque caractère
  result.append(key)

# Joindre les caractères dans une chaîne
res = ''.join(result) 

# Afficher le résultat
print(res)
 

Éditeur de code Python: Testez votre code en ligne!


 

QCM Python

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *