Exercices Chaînes de Caractères
Série d'exercices
Exercice 1/15
Exercice
1. Écrire un programme qui saisit un nom et prénom séparés par un espace et affiche les deux initiales en majuscules.
Exigences :
  • Saisir une chaîne contenant un nom et un prénom séparés par un espace
  • Extraire la première lettre du nom et la première lettre du prénom
  • Convertir ces lettres en majuscules
  • Afficher les initiales
Exemple d'exécution :
Nom et prénom : mohamed ali
Initiales : MA
Note : N'utilisez pas de structures conditionnelles. Seulement les manipulations de chaînes.
Solution Python
# Exercice 1 : Initiales en majuscules ch = input("Nom et prénom : ") p = ch.find(" ") initiale1 = ch[0] initiale2 = ch[p+1] initiales = initiale1.upper() + initiale2.upper() print("Initiales :", initiales)
Exercice
2. Écrire un programme qui saisit une heure sous forme "hh:mm:ss" et calcule le nombre total de secondes.
Exigences :
  • Saisir une chaîne au format "hh:mm:ss"
  • Extraire les heures, minutes et secondes
  • Convertir chaque partie en entier
  • Calculer : total = heures×3600 + minutes×60 + secondes
  • Afficher le résultat
Exemple d'exécution :
Heure (hh:mm:ss) : 02:30:15
Secondes : 9015
Solution Python
# Exercice 2 : Conversion heure en secondes ch = input("Heure (hh:mm:ss) : ") h = ch[0:2] m = ch[3:5] s = ch[6:8] total = int(h)*3600 + int(m)*60 + int(s) print("Secondes :", total)
Exercice
3. Écrire un programme qui saisit une date "jj/mm/aaaa" et l'affiche sous forme "jj-mm-aa." (avec un point à la fin).
Exigences :
  • Saisir une date au format "jj/mm/aaaa"
  • Extraire le jour, le mois et les deux derniers chiffres de l'année
  • Construire une nouvelle chaîne au format "jj-mm-aa."
  • Afficher "Nous sommes le [date formatée]"
Exemple d'exécution :
Date (jj/mm/aaaa) : 15/04/2020
Nous sommes le 15-04-20.
Solution Python
# Exercice 3 : Formatage de date ch = input("Date (jj/mm/aaaa) : ") jj = ch[0:2] mm = ch[3:5] aa = ch[8:10] resultat = jj + "-" + mm + "-" + aa + "." print("Nous sommes le", resultat)
Exercice
4. Écrire un programme qui saisit un nombre de jours (4 chiffres) et l'affiche en années (365 jours), semaines et jours.
Exigences :
  • Saisir une chaîne de 4 chiffres
  • Convertir en entier
  • Calculer le nombre d'années complètes (// 365)
  • Calculer le nombre de semaines dans les jours restants
  • Calculer les jours restants
  • Afficher le résultat formaté
Exemple d'exécution :
Nombre de jours (4 chiffres) : 0375
375 jours équivalent à 1 année(s), 1 semaine(s) et 3 jour(s)
Solution Python
# Exercice 4 : Nombre de jours en années/semaines/jours ch = input("Nombre de jours (4 chiffres) : ") jours = int(ch) annees = jours // 365 semaines = (jours - annees*365) // 7 jours_restants = jours - annees*365 - semaines*7 print(jours, "jours équivalent à", annees, "année(s),", semaines, "semaine(s) et", jours_restants, "jour(s)")
Exercice
5. Écrire un programme qui permute le premier et le dernier caractère d'une chaîne (longueur > 2).
Exigences :
  • Saisir une chaîne de caractères
  • Extraire le premier caractère
  • Extraire le dernier caractère
  • Extraire le milieu de la chaîne (sans premier ni dernier)
  • Construire : dernier + milieu + premier
  • Afficher le résultat
Exemple d'exécution :
Chaîne : python
Résultat : nythop
Note : On suppose que la chaîne a une longueur > 2.
Solution Python
# Exercice 5 : Permutation premier/dernier caractère ch = input("Chaîne : ") premier = ch[0] dernier = ch[-1] milieu = ch[1:-1] resultat = dernier + milieu + premier print("Résultat :", resultat)
Exercice
6. Écrire un programme qui saisit un nombre à 3 chiffres et affiche la somme de ses chiffres.
Exigences :
  • Saisir une chaîne de 3 chiffres
  • Extraire chaque chiffre (centaine, dizaine, unité)
  • Convertir chaque chiffre en entier
  • Calculer la somme
  • Afficher le résultat
Exemple d'exécution :
Nombre (3 chiffres) : 521
Somme : 8
Solution Python
# Exercice 6 : Somme des chiffres d'un nombre ch = input("Nombre (3 chiffres) : ") centaine = int(ch[0]) dizaine = int(ch[1]) unite = int(ch[2]) somme = centaine + dizaine + unite print("Somme :", somme)
Exercice
7. Écrire un programme qui saisit un verbe du 1er groupe et affiche sa conjugaison au futur simple.
Exigences :
  • Saisir un verbe du 1er groupe (terminaison "er")
  • Extraire la racine du verbe (sans "er")
  • Afficher la conjugaison avec les terminaisons du futur
  • Terminaisons : ai, as, a, ons, ez, ont
Exemple d'exécution :
Verbe du 1er groupe : parler
Je parlerai
Tu parleras
Il/Elle parlera
Nous parlerons
Vous parlerez
Ils/Elles parleront
Note : On ne traite pas les verbes irréguliers.
Solution Python
# Exercice 7 : Conjugaison futur simple verbe = input("Verbe du 1er groupe : ") racine = verbe[:-2] print("Je", racine + "ai") print("Tu", racine + "as") print("Il/Elle", racine + "a") print("Nous", racine + "ons") print("Vous", racine + "ez") print("Ils/Elles", racine + "ont")
Exercice
8. Écrire un programme qui saisit "nom prénom" et affiche "prénom nom".
Exigences :
  • Saisir une chaîne "nom prénom"
  • Trouver la position de l'espace
  • Extraire le nom (avant l'espace)
  • Extraire le prénom (après l'espace)
  • Construire "prénom nom"
  • Afficher le résultat
Exemple d'exécution :
Nom et prénom : dupont marie
Résultat : marie dupont
Solution Python
# Exercice 8 : Inversion nom/prénom ch = input("Nom et prénom : ") p = ch.find(" ") nom = ch[:p] prenom = ch[p+1:] resultat = prenom + " " + nom print("Résultat :", resultat)
Exercice
9. Écrire un programme qui saisit une adresse email et affiche le nom de domaine (après @).
Exigences :
  • Saisir une adresse email
  • Trouver la position du caractère @
  • Extraire tout ce qui suit le @
  • Afficher le domaine
Exemple d'exécution :
Email : ahmed@gmail.com
Domaine : gmail.com
Solution Python
# Exercice 9 : Extraction domaine email email = input("Email : ") p = email.find("@") domaine = email[p+1:] print("Domaine :", domaine)
Exercice
10. Écrire un programme qui saisit un caractère et un nombre, puis affiche ce caractère répété le nombre de fois indiqué.
Exigences :
  • Saisir un caractère
  • Saisir un nombre
  • Utiliser l'opérateur de répétition * sur la chaîne
  • Afficher le résultat
Exemple d'exécution :
Caractère : *
Nombre : 10
Résultat : **********
Solution Python
# Exercice 10 : Répétition de caractère caractere = input("Caractère : ") n = int(input("Nombre : ")) resultat = caractere * n print("Résultat :", resultat)
Exercice
11. Écrire un programme qui saisit un nom de fichier et affiche son extension (après le dernier point).
Exigences :
  • Saisir un nom de fichier
  • Trouver la position du dernier point avec rfind()
  • Extraire tout ce qui suit le point
  • Afficher l'extension
Exemple d'exécution :
Nom de fichier : document.pdf
Extension : pdf
Solution Python
# Exercice 11 : Extraction extension fichier fichier = input("Nom de fichier : ") p = fichier.rfind(".") extension = fichier[p+1:] print("Extension :", extension)
Exercice
12. Écrire un programme qui saisit une phrase et affiche trois versions : tout en majuscules, tout en minuscules, et avec la première lettre en majuscule.
Exigences :
  • Saisir une phrase
  • Utiliser upper() pour tout convertir en majuscules
  • Utiliser lower() pour tout convertir en minuscules
  • Utiliser capitalize() pour la première lettre en majuscule
  • Afficher les trois versions
Exemple d'exécution :
Phrase : Bonjour Le Monde
Majuscules : BONJOUR LE MONDE
Minuscules : bonjour le monde
Capitalisée : Bonjour le monde
Solution Python
# Exercice 12 : Conversion minuscules/majuscules phrase = input("Phrase : ") print("Majuscules :", phrase.upper()) print("Minuscules :", phrase.lower()) print("Capitalisée :", phrase.capitalize())
Exercice
13. Écrire un programme qui saisit trois mots séparés par des espaces et crée un acronyme avec leurs premières lettres en majuscules.
Exigences :
  • Saisir trois mots séparés par des espaces
  • Trouver les positions des deux espaces
  • Extraire le premier caractère de chaque mot
  • Convertir en majuscules et concaténer
  • Afficher l'acronyme
Exemple d'exécution :
Trois mots : sciences de informatique
Acronyme : SDI
Solution Python
# Exercice 13 : Construction acronyme ch = input("Trois mots : ") p1 = ch.find(" ") p2 = ch.find(" ", p1+1) lettre1 = ch[0].upper() lettre2 = ch[p1+1].upper() lettre3 = ch[p2+1].upper() acronyme = lettre1 + lettre2 + lettre3 print("Acronyme :", acronyme)
Exercice
14. Écrire un programme qui saisit une chaîne, une position de début et une longueur, puis affiche la sous-chaîne correspondante.
Exigences :
  • Saisir une chaîne de caractères
  • Saisir une position de début (entier)
  • Saisir une longueur (entier)
  • Extraire la sous-chaîne : ch[debut:debut+longueur]
  • Afficher le résultat
Exemple d'exécution :
Chaîne : programmation
Position de début : 3
Longueur : 4
Sous-chaîne : gram
Solution Python
# Exercice 14 : Extraction sous-chaîne par positions ch = input("Chaîne : ") debut = int(input("Position de début : ")) longueur = int(input("Longueur : ")) sous_chaine = ch[debut:debut+longueur] print("Sous-chaîne :", sous_chaine)
Exercice
15. Écrire un programme qui saisit une phrase, un caractère à remplacer et un caractère de remplacement, puis affiche la phrase modifiée.
Exigences :
  • Saisir une phrase
  • Saisir un caractère à remplacer
  • Saisir un caractère de remplacement
  • Utiliser la méthode replace()
  • Afficher la phrase modifiée
Exemple d'exécution :
Phrase : bonjour le monde
Caractère à remplacer : o
Caractère de remplacement : *
Résultat : b*nj*ur le m*nde
Solution Python
# Exercice 15 : Remplacement de caractère phrase = input("Phrase : ") ancien = input("Caractère à remplacer : ") nouveau = input("Caractère de remplacement : ") resultat = phrase.replace(ancien, nouveau) print("Résultat :", resultat)