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

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 extraire des nombres d’une chaîne donnée.

Exemple:

Exemple de chaîne: "rue 30 quartie 101 louis"
Résultat: [30, 101]
Solution:

str = "rue 30 quartie 101 louis"

# Utiliser une liste de compréhension pour extraire les nombres entiers de la chaîne s'il s'agit de chiffres.
result = [int(str) for str in str.split() if str.isdigit()]
		
print(result) 
 

Exercice 2:

Écrire un programme Python pour convertir les valeurs des composants RGB en un code couleur hexadécimal.

Exemple:

(255, 165, 1) -> FFA501
(255, 255, 255) -> FFFFFF
(0, 0, 0) -> 000000
Solution:

r = 255
g = 255
b = 255

# Utiliser le formatage de chaîne pour convertir les valeurs RGB en code couleur hexadécimal.
result = ('{:02X}' * 3).format(r, g, b)
		
print(result) 
 

Exercice 3:

Écrire un programme Python pour convertir une chaîne de caractères donnée en Camelcase.

Exemple:

WayToLearnX -> Waytolearnx
WayTo-LearnX -> Waytolearnx
--WayTo_LearnX -> Waytolearnx
Solution:

# Importer la fonction sub du module re pour la substitution d'expressions régulières
from re import sub

str = "wayto--learnx"

# Utiliser la substitution d'expressions régulières pour remplacer les traits de soulignement et les traits d'union par des espaces,
# puis mettre la chaîne en majuscules (mettre la première lettre de chaque mot en majuscule), et supprimer les espaces
str = sub(r"(_|-)+", " ", str).title().replace(" ", "")
    
# Regrouper la chaîne de caractères en veillant à ce que la première lettre soit en majuscule.
result = ''.join([str[0].upper(), str[1:]])
		
print(result) 
 

Exercice 4:

Écrire un programme Python pour convertir une chaîne de caractères donnée en snake_case.

Exemple:

JavaScript-> java_script
java script-> java_script
java--script-> java_script
Solution:

# Importer la fonction sub du module re pour la substitution d'expressions régulières
from re import sub

str = "JavaScript"

# Remplacer les traits d'union par des espaces, puis appliquer des substitutions d'expressions régulières pour la conversion de la casse des titres
# et ajoute un underscore entre les mots, puis convertit le résultat en minuscules
result = '_'.join(
    sub('([A-Z][a-z]+)', r' \1',
    sub('([A-Z]+)', r' \1',
    str.replace('-', ' '))).split()).lower()
		
print(result) 
 

Exercice 5:

Écrire un programme Python pour décapitaliser la première lettre d’une chaîne donnée.

Exemple:

JavaScript-> javaScript
Python-> python
Solution:

str = "Python"

# Joindre la première lettre en minuscule au reste de la chaîne
result = ''.join([str[:1].lower(), str[1:]])
		
print(result) 
 

Exercice 6:

Écrire un programme Python pour diviser une chaîne de plusieurs lignes en une liste.

Exemple:

Exemple de chaîne: Ceci 
est une 
chaîne de 
plusieurs 
lignes

Résultat: ['Ceci', 'est une', 'chaîne de', 'plusieurs', 'lignes']
Solution:

str = "Ceci\nest une\nchaîne de\nplusieurs\nlignes"

# Utiliser la méthode split() avec '\n' comme délimiteur pour créer une liste de lignes.
result = str.split('\n')
		
print(result) 
 

Exercice 7:

Écrire un programme Python pour additionner deux chaînes de caractères comme s’il s’agissait de nombres (valeurs entières positives). Renvoyer un message si les nombres sont des chaînes de caractères.

Exemple:

'1' + '2' -> 3
'a' + 'str' -> Erreur!
Solution:

# Définir une fonction permettant d'additionner deux nombres représentés sous forme de chaînes de caractères
def add(n1, n2):
    # Ajouter '0' au début de chaque chaîne pour gérer les nombres négatifs
    n1, n2 = '0' + n1, '0' + n2
    
    # Vérifier si les deux chaînes sont numériques
    if (n1.isnumeric() and n2.isnumeric()):
        # Si true, convertit les chaînes en entiers, les additionne et renvoie le résultat sous forme de chaîne.
        return str(int(n1) + int(n2))
    else:
        # Si elle n'est pas numérique, elle renvoie un message d'erreur
        return 'Erreur!'
		
print(add("1", "2"))
print(add("a", "str"))
 

Exercice 8:

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

Exemple:

Exemple de chaîne: 'Chaîne! Avec. Des ponctuation ?'
Résultat: Chaîne Avec Des ponctuation
Solution:

# Importer le module string pour accéder à des chaînes de caractères de ponctuation.
import string

str = "Chaîne! Avec. Des ponctuation ?"

# Parcourir chaque caractère de ponctuation et le remplacer par une chaîne vide
for c in string.punctuation:
    str = str.replace(c, "")
		
print(str) 
 

Exercice 9:

Écrire un programme Python qui met en majuscules la première lettre de caque 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!"

# mettre chaque mot en majuscule et les relier par des espaces.
result = ' '.join(word.capitalize() for word in str.split())    
		
print(result) 
 

Exercice 10:

Ecrire un programme Python pour extraire et afficher le nom d’une adresse email donnée.

Exemple:

("[email protected]") -> ("alex")
("[email protected]") -> ("bobsmith")
("[email protected]") -> ("supportadmin")
Solution:

email = "[email protected]"

# Trouver l'index du symbole '@' dans l'adresse e-mail
r = email.index("@")
    
# joindre les caractères alphabétiques avant le symbole '@'.
result = "".join(l for l in email[:r] if l.isalpha())    
		
print(result) 
 

Exercice 11:

Écrire un programme Python pour insérer un espace avant chaque lettre majuscule apparaissant dans un mot donné.

Exemple:

("ExercicesPython") -> "Exercices Python"
("Python") -> "Python"
Solution:

str = "ExercicesPython"

result = ""
# Parcourir chaque caractère du mot
for i in str:
    # Vérifier si le caractère est majuscule
    if i.isupper():
        # Concaténer un espace et la version majuscule du caractère au résultat.
        result = result + " " + i.upper()
    else:
        # Concaténer le caractère au résultat
        result = result + i 
    
# Supprimez l'espace en tête du résultat et affichez	
print(result[1:]) 
 

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


 

QCM Python

2 réflexions sur “Exercice Corrigé: Les chaînes de caractères en Python – Partie 6

  • décembre 14, 2024 à 10:08 am
    Permalien

    Dans la solution de l’exercice 3:

    str = sub(r"(_|-)+", " ", str).title().replace(" ", "")

    Je ne comprend pas l’interet de remplacer (_|-) par " " puis de remplacer " " par ""?
    Pourquoi ne pas faire simplement:

    str = sub(r"(_|-)+", "", str).title()

    Note que l’on obtient le même résultat.

    Répondre
  • décembre 14, 2024 à 6:04 pm
    Permalien

    Another possible solution, probably a bit more pythonic:

    def add(n1, n2):
        result=0
        for i in [n1, n2]:
            try: 
                result += int(i)
            except ValueError:
                return f"Erreur!" 
    
        return result
    print(add("1", "2"))
    print(add("a", "str"))
    Répondre

Laisser un commentaire

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