Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Exercices Corrigés Programmation en Python: Dr. Mohsen DJEMAI

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 15

Exercices corrigés

Programmation en Python

Dr. Mohsen DJEMAI

1
Exercice 1 :
Ecrire un programme en langage Python qui demande à l'utilisateur de saisir son nom et de lui afficher
son nom avec un message de bienvenue !
Solution
# demander à l'utilisateur de saisir son nom
nom = input("Tapez votre nom : ")
# Tapez votre nom : ‘momo ‘
print("Vous êtes la bienvenue Monsieur/Madame/Mademoiselle ", nom)
Exercice 2 :
Ecrire un programme en Python qui demande à l'utilisateur de saisir deux nombres a et b et de lui afficher
leur somme : a + b
Solution
# demander à l'utilisateur de saisir les valeurs de a et de b
a = input("Tapez la valeur du nombre a : ")
b = input("Tapez la valeur du nombre b : ")
# Convertir les chaines de caractères en entier
a = int(a)
b = int(b)
s = a+b
print("La somme de a et de b est a + b = " , s)
Exercice 3 :
Ecrire un programme en Python qui demande à l'utilisateur de saisir deux nombres a et b et de lui afficher
leur maximum, sans utiliser la fonction max() ni aucune fonction prédéfinie.
Solution
# lire les valeurs de a et b
a = int(input("Tapez la valeur du nombre a : "))
b = int(input("Tapez la valeur du nombre b : "))
# Faire un test de comparaison pour trouver le plus grand
if (a > b):
print("Le maximum de a et de b est : a = ", a)
else:
print("Le maximum de a et de b est : b = ", b)
Exercice 4 : affichage des 100 premiers nombre
Ecrire un programme en langage Python qui affiche les 100 premiers nombres entiers
Solution
# parcourir les 100 premiers nombres à l'aide de la boucle for
for i in range(0,101):
print(i)
""" après exécution le programme affiche les 100 premiers nombres :
0
1
2
...
100
"""

2
Exercice 5 : tester la parité d’un nombre en python
Ecrire un programme en langage Python qui demande à l'utilisateur de saisir son nombre entier et de lui
afficher si ce nombre est pair ou impair.
Solution
# Lire la valeur de n
n = input("Type value of the integer n : ")
# Convertir n en entier
n = int(n)
# Tester si n est pair ou non
if(n%2 == 0):
print("Le nombre '", n, "' tapé est pair ")
else:
print("Le nombre '", n, "' tapé est impair ")
Exercice 6 :
Ecrire un programme en langage Python qui demande à l'utilisateur de saisir son âge et de lui afficher le
message « vous êtes Majeur ! » si l’âge tapé est supérieur ou égale à 18 et le message « vous êtes mineur
! » si l’âge tapé est inférieur à 18.
Solution
# Demander à l'utilisateur de taper son âge
age = int(input("Tapez votre age : "))
if(age > 18):
print("Vous êtes majeur !")
else:
print("Vous êtes mineur !")
Exercice 7
Ecrire un programme en Python qui demande à l'utilisateur de saisir 3 nombre x, y et z et de lui afficher
leur maximum
Solution
# Demander à l'utilisateur de taper 3 nombres a, b, c
a = int(input("Type a value of the number a "))
b = int(input("Type a value of the number b "))
c = int(input("Type a value of the number c "))
# définir et initialiser le maximum à zero
max = 0
if(a > b):
max = a
else:
max = b
if(max < c):
max = c
else:
max = max
print("Le maximum des trois nombre est : max(a,b,c) = ", max)
Exercice 8
Ecrire un programme en Python qui demande à l'utilisateur de saisir un nombre entier n et de lui afficher
la valeur de la somme 1 + 2 + … + n = ?
Solution
3
# Demander à l'utilisateur de saisir la valeur de l'entier n
n = int(input("Type a value of the integer n "))
# définir et initialiser une variable auxiliaire s
s = 0
for i in range(1,n+1):
s = s + i
print("La somme 1 + 2 + 3 + ...+ ",n," = : ", s)
Exercice 9
Ecrire un programme en Python qui demande à l'utilisateur de saisir un nombre entier n et de lui afficher
(n ! =factorielle n).
Solution
# Demander à l'utilisateur de saisir la valeur de l'entier n
n = int(input("Type a value of the integer n "))
# define et initialiser une variable auxiliaire j
facto = 1
for i in range(1,n+1):
facto = facto*i
print("Factorielle de n est : ",n,"! = : ", facto)
Exercice 10 : périmètre et surface d’un cercle en Python
Ecrire un programme en Python qui demande à l’utilisateur de saisir le rayon d'un cercle et de lui
renvoyer la surface et le périmètre.
Solution
# importer le nombre pi à partir de la bibliothèque math
from math import pi
# lire la valeur du rayon r
r = int(input("Saisissez la valeur du rayon r: "))
# calcul du périmètre du cercle
P = 2*pi*r
# calcul de la surface du cercle
S = pi*(r**2)
print("Le périmètre du cercle de rayons r =",r," est P = ", P)
print("La surface du cercle de rayons r =",r," est S = ", S)
Exercice 11 :
Ecrire un programme en Python qui demande à l’utilisateur de saisir un nombre entier n et de lui afficher
tous les diviseurs de ce nombre.
Solution
n = int(input("Tapez la valeur de l'entier n "))
# parcourir tous les entiers inféreir ou égale à n
for i in range(1,n+1):
# tester si i est un diviseur de n
if(n%i==0):
print("Le nombre ",i," est un diviseur de ",n)
Exercice 12 :
1) Ecrire un programme en Python qui demande à l’utilisateur de saisir un nombre entier n et de lui
afficher la table de multiplication de ce nombre.
2) Améliorez le programme afin qu’il affiche les tables de multiplications de tous les nombres
compris entre 1 et 9
4
Solution
Table de multiplication d'un entier saisi au clavier
# Lire la valeur de l'entier n
n = int(input("Tapez la valeur de n "))
print("La table de multiplication de : ", n," est :")
for i in range(1,10):
print(i , " x ", n, " = ",i*n)
Code python qui fournit les tables de multiplications de tous les nombres 1, 2, 3, ..., 9
for n in range(1,10):
#insert separator
print("--------------------------------------")
print("la table de multiplication de : ", n," est :")
for i in range(1,10):
print(i , " x ", n, " = ",i*n)
Ce qui affiche à l’exécution :
la table de la table de la table de la table de la table de la table de la table de la table de la table de
multiplicati multiplicati multiplicati multiplicati multiplicat multiplicat multiplicat multiplicat multiplicat
on de : 1 on de : 2 on de : 3 on de : 4 ion de : 5 ion de : 6 ion de : 7 ion de : 8 ion de : 9
est : est : est : est : est : est : est : est : est :
1x1=1 1x2=2 1x3=3 1x4=4 1x5=5 1x6=6 1x7=7 1x8=8 1x9=9
2x1=2 2x2=4 2x3=6 2x4=8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18
3x1=3 3x2=6 3x3=9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27
4x1=4 4x2=8 4 x 3 = 12 4 x 4 = 16 4 x 5 = 20 4 x 6 = 24 4 x 7 = 28 4 x 8 = 32 4 x 9 = 36
5x1=5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25 5 x 6 = 30 5 x 7 = 35 5 x 8 = 40 5 x 9 = 45
6x1=6 6 x 2 = 12 6 x 3 = 18 6 x 4 = 24 6 x 5 = 30 6 x 6 = 36 6 x 7 = 42 6 x 8 = 48 6 x 9 = 54
7x1=7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49 7 x 8 = 56 7 x 9 = 63
8x1=8 8 x 2 = 16 8 x 3 = 24 8 x 4 = 32 8 x 5 = 40 8 x 6 = 48 8 x 7 = 56 8 x 8 = 64 8 x 9 = 72
9x1=9 9 x 2 = 18 9 x 3 = 27 9 x 4 = 36 9 x 5 = 45 9 x 6 = 54 9 x 7 = 63 9 x 8 = 72 9 x 9 = 81

Exercice 13 :
Ecrire un programme en langage Python qui demande à l'utilisateur de saisir deux nombres entiers a et
b et de lui afficher le quotient et le reste de la division euclidienne de 𝑎 par 𝑏.
Solution
# Lire les valeurs de a et b
a = int(input("Tapez la valeur de l'entier a : "))
b = int(input("Tapez la valeur de l'entier b : "))
q = a//b
r = a%b
print("Le quotient de la division euclidienne de a par b est : q = ", q)
print("Le reste de la division euclidienne de a par b est : r = ", r)
Exercice 14 :
Ecrire un programme en langage Python qui demande à l'utilisateur de saisir un nombre entier n et de
lui afficher si ce nombre est le carré d’un nombre entier ou non.
Solution
# Lire la valeur de l'entier n
n = int(input("Tapez la valeur de n : "))
# On utilise un compteur j

5
j = 0
for i in range(0,n):
if(i**2 == n):
j = j +1
print("L'entier ", n , " est un carré du nombre entier ", i)
if(j > 0):
print("L'entier ", n , " est un carré d’un nombre entier ")
else:
print("l'entier ", n , " n'est pas le résultat d’un nombre entier au carré")
Exercice 15 :
Ecrire un programme en langage Python qui demande à l'utilisateur de saisir un nombre entier n et de
lui afficher si ce nombre est premier ou non.
Solution
# Lire la valeur de l'entier n
n = int(input("Tapez la valeur de n : "))
# on utilise un compteur qui compte le nombre de diviseurs de n
j = 0
for i in range(2, n):
if(n%i == 0):
j = j + 1
# On teste si le nombre de diviseurs de n est = 0 pour conclure que n est premier
if( j == 0):
print("Le nombre ", n , " est un nombre premier")
else:
print("Le nombre ", n , " n’est pas premier")
Exercice 16 :
Ecrire un programme en langage Python qui permet de parcourir et afficher les caractères d’une variable
du type chaine de caractères. Exemple pour s =`Python`, le programme affiche les caractères :
P
y
t
h
o
n
1ère méthode
# Demander à l'utilisateur de saisir une chaine de caractères
s = input("Saisisir une chaine de caractères s : ")
# obtenir la longueur de s
n = len(s)
for i in range(0, n):
print(s[i])
2ème méthode
# Demander à l'utilisateur de saisir une chaine de caractères s
s = input("Tapez une chaine de caractères s = ")
for x in s:
print(x)
6
Exercice 17 :
Ecrire un programme en Python permettant d’afficher pour une chaine de caractères donnée, le nombre
d’occurrences de chaque caractère dans la chaine. Exemple pour la chaine de caractère s = «
Python.org » le programme doit afficher :
Le caractère : " P " figure 1 fois dans la chaine s
Le caractère : " y " figure 1 fois dans la chaine s
Le caractère : " t " figure 1 fois dans la chaine s
Le caractère : " h " figure 1 fois dans la chaine s
Le caractère : " o " figure 2 fois dans la chaine s
Le caractère : " n " figure 1 fois dans la chaine s
Le caractère : " . " figure 1 fois dans la chaine s
Le caractère : " r " figure 1 fois dans la chaine s
Le caractère : " g " figure 1 fois dans la chaine s
s = "Python est un langage de programmation"
# regrouper les caractères de s dans un ensemble pour éviter les répétitions
unique =set({})
for x in s:
if x not in unique:
unique.add(x)
print("Le nombre d'occurrences du caractère : ", x, " dans la chaine s est :",
s.count(x))
"""
Ce qui affiche après exécution :
Le nombre d'occurrences du caractère : P dans la chaine s est : 1
Le nombre d'occurrences du caractère : y dans la chaine s est : 1
Le nombre d'occurrences du caractère : t dans la chaine s est : 3
Le nombre d'occurrences du caractère : h dans la chaine s est : 1
Le nombre d'occurrences du caractère : o dans la chaine s est : 3
Le nombre d'occurrences du caractère : n dans la chaine s est : 4
Le nombre d'occurrences du caractère : dans la chaine s est : 5
Le nombre d'occurrences du caractère : e dans la chaine s est : 3
Le nombre d'occurrences du caractère : s dans la chaine s est : 1
Le nombre d'occurrences du caractère : u dans la chaine s est : 1
Le nombre d'occurrences du caractère : l dans la chaine s est : 1
Le nombre d'occurrences du caractère : a dans la chaine s est : 4
Le nombre d'occurrences du caractère : g dans la chaine s est : 3
Le nombre d'occurrences du caractère : d dans la chaine s est : 1
Le nombre d'occurrences du caractère : p dans la chaine s est : 1
Le nombre d'occurrences du caractère : r dans la chaine s est : 2
Le nombre d'occurrences du caractère : m dans la chaine s est : 2
Le nombre d'occurrences du caractère : i dans la chaine s est : 1
"""
Exercice 18 :
Ecrire un programme en Python qui demande à l’utilisateur de saisir une chaine de caractère s et de lui
renvoyer un message indiquant si la chaine contient la lettre 'a' tout en indiquant sa position sur la chaine.
Exemple si l’utilisateur tape la chaine s = ‘langage’ le programme lui renvoie : La lettre 'a' se trouve à la
position : 1 La lettre 'a' se trouve à la position : 4
Solution
# Demander à l'utilisateur de tapez la valeur de s
7
s = input("Tapez la valeur de s : ")
# Obtenir la longueur de la chaine s
n = len(s)
# Parcourir la chaine s tout en recherchant le caractère 'a'
for i in range(0,n):
# Tester si le caractère rencontré est égal à 'a'
if(s[i] == 'a'):
print("Le caractère 'a' se trouve à la position : ", i , " dans la chaine s")
Exercice 19 :
Ecrire un programme en Python qui permet de lister les chaines qui composent la liste l = ["laptop",
"iphone", "tablet"] tout en indiquant la longueur de chaque chaine.
Solution
l = ["laptop", "iphone", "tablet", "printer", "Ipad"]
# parcourir les éléments de la liste l
for x in l:
print(x, " is in list l, its length is: ", len(x))
Exercice 20 :
Ecrire un programme en langage Python, permettant d’échanger le premier et le dernier caractère d’une
chaine donnée.
Solution
# definir un exemple de chaine s
s = "www.tresfacile.net"
# obtenir la longueur de la chaine s
n = len(s)
# obtenir le premier caractère de la chaine s
first = s[0]
last = s[n-1]
# extraire la sous chaine obtenue à partir de s en ignorant le premier et le dernier
caractère
s1 = s[1:n-1]
# construire une nouvelle chaine en changeant le premier et le dernier caractère
s2 = last + s1 + first
print(s2)

Exercice 21
Ecrire un programme en langage Python, qui permet de compter le nombre de voyelles dans une chaine
donnée. Exemple pour la chaine s='anticonstitutionnellement' le programme doit renvoyer le
message suivant : La chaine anticonstitutionnellement possède 10 voyelles.
Solution
# definir les voyelles dans un ensemble
vowels= {'a','e','y','u','i','o'}
# definir une chaine de caractères
s = "anticonstitutionnellement"
# obtenir la longueur de la chaine s
n = len(s)
# initialiser le nombre de voyelles à 0
number_vowels = 0
# parcourir les caractères de la chaine s
for i in range(0,n):
if(s[i] in vowels):

8
number_vowels = number_vowels + 1
print("Le nombre de voyelles de la chaine 's' est : ", number_vowels)

Exercice 22
Ecrire un programme en Python, qui permet de renvoyer le premier mot d’un texte donné. Exemple
pour le texte : t ='Python est un merveilleux langage de programmation', le programme doit
renvoyer Python
Solution
# programme qui détermine le premier mot d'une chaine de caractères en Python
# définir une chaine de caractères s
s = "Apprendre Python sur www.tresfacile.net"
# initialiser le premier mot à une chaine vide
premierMot = ""
# initialiser le compteur
i = 0
# chercher le premier espace sur la chaine
while (s[i] != " "):
premierMot = premierMot + s[i]
i = i + 1
print("Le premier mot de la chaine s est : ", s[:i])

Exercice 23
Ecrire un programme en langage Python qui demande à l’utilisateur de saisir le nom d’un fichier et de lui
renvoyer son extension. Exemple si l’utilisateur saisie coursPython.pdf le programme lui renvoie le
message « L’extension du fichier est .pdf ».
Solution
# Demander à l'utilisateur de saisir un nom de fichier
fichier = input("Saisir le nom du fichier avec son extension: ")
# convertir fichier en liste
L = fichier.split(".")
extensionFichier = "."+ L[-1]
print("L'extension du fichier est : ", extensionFichier)
# Ou on peut utiliser. … .find
# Demander à l'utilisateur de saisir un nom de fichier
s=input("saisir le nom du fichier : ")
p=s.find(".")
print(s[p:])

Exercice 24
Un palindrome est un mot dont l'ordre des lettres reste le même si on le lit de gauche à droite ou de droite
à gauche. Par exemple : 'laval' , 'radar, 'sos'... sont des palindromes. Ecrire un programme en Python qui
demande à l'utilisateur de saisir un mot et de lui renvoyer s'il s'agit d'un palindrome ou non ?
Solution
# Demander à l'utilisateur de saisir un mot
mot = input("Saisir un mot : ")
# inverser le mot
inverse = mot[::-1]
if(mot == inverse):
print("Le mot :", mot," est un palindrome")
else:
print("Le mot : ", mot, " n'est pas un palindrome")

9
Exercice 25
Ecrire un programme qui demande à l’utilisateur de saisir un mot et de lui renvoyer son inverse.
Exemple si l’utilisateur saisi le mot python, le programme lui renvoie nohtyp.
Solution
# -*- coding: utf-8 -*-
# Demander à l'utilisateur de saisir un mot
mot = input("Saisir un mot : ")
# inverser le mot
inverse = mot[::-1]
if(mot == inverse):
print("Le mot :", mot," est un palindrome")
else:
print("Le mot : ", mot, " n'est pas un palindrome")

Exercice 26
Ecrire un programme qui demande à l’utilisateur de saisir un texte et de lui renvoyer tous les mots
commençant par la lettre a.
Solution
1ère méthode
# Lire la chaine s
s = input("Tapez une chaine de caractères s : ")
# convertir la chaine s en une liste
s = s.split()
# chercher tous les éléments de la liste qui commencent par la lettre 'a'
for x in s:
if(x[0] == 'a'):
print("Le mot : ", x, " commence par la lettre 'a'")
2ème méthode
# Lire la chaine s
s = input("Tapez une chaine de caractères s : ")
# convertir la chaine s en une liste
s = s.split()
# obtenir la longueur de la liste s
n = len(s)
# rechercher les éléments de la liste qui commencent par la lettre 'a'
for i in range(0,n):
if(s[i][0] == 'a'):
print("Le mot : '", s[i], "' commence par la lettre 'a'")
"""
Example of execution : "Me and you are beginner"
You will receive the message:
The word: 'and' begin with the letter 'a'
The word: 'are' begin with the letter 'a'
"""

Exercice 27
Écrire un programme en Python sous forme de fonction qui calcul la somme des éléments d'une liste de
nombres. Et un autre qui permet de multiplier tous les éléments d'une liste de nombres.

10
Solution
# Fonction qui calcul le produit des éléments d'une liste
def mult(l):
m = 1
# Création du produit en parcourant les éléments de la liste
for x in l:
m = m*x
return m
print(mult([2,5,3]))
# Fonction qui calcul la somme des éléments d'une liste
def sum(l):
s = 0
# Création de la somme en parcourant les éléments de la liste
for x in l:
s = s + x
return s
print(sum([2,5,3]))

Exercice 28
Écrire un programme Python qui teste si une liste est vide ou non. Même question pour une chaine de
caractères.
Solution
Première méthode
# Tester si une liste L est vide
# définir une liste L
L = list()
# essayer si la liste L est vide
if L == []:
print ("La liste L est vide")
else:
print ("La liste L n'est pas vide")
#Tester si une chaîne est vide
# définir une chaîne s
s = ""
# Tester si une chaîne s est vide
if s == "":
print ("La chaîne s est vide")
else:
print ("La liste n'est pas vide")
Deuxième méthode
# Tester si une liste L est vide
# définir une liste L
L = list()
# 1) - Tester si la liste L est vide en utilisant la fonction len ()
if len(L) == 0:
print ("La liste L est vide")
else:
print ("La liste L n'est pas vide")
#2) - Tester si une chaîne s est vide
# définir une chaîne s
s = ""
#Tester si la chaîne s est vide en utilisant la fonction len ()
if len (s) == 0:
print ("La chaîne s est vide")
else:
print ("La liste L n'est pas vide")

11
Exercice 29
Écrire un programme Python qui permet de supprimer les éléments dupliqués d'une liste.
Solution
1ère méthode
# définit une fonction qui supprime les doublons dans la liste
def removeDuplicate(l):
# définir et initialiser la liste sans élément dupliqué
unique = []
# construction de la liste sans éléments dupliqués
for x in l:
if x not in unique:
unique.append(x)
return unique
# Exemple
l = [2, 7, 13, 2, 17, 13, 2, 7, 13]
print (removeDuplicate(l))
2ème méthode
# -*- coding: utf-8 -*-
# définir la fonction qui supprie les élément dupliqués d'une liste
def removeDuplicate(l):
# convertir la liste en un ensemble
SET = set(l)
# reconvertir l'ensemble en une liste
L = list(SET)
return L
# Exemple
l = [2, 7,7, 13, 2, 17,25, 17, 13, 15, 15, 2, 7, 13]
print(removeDuplicate(l))

Exercice 30
Ecrire une fonction en Python qui permet de comparer deux listes et de nous indiquer si ces deux listes
ont une valeur commune ou non.
Solution
def elementsCommun(l1,l2):
compteur = 0
for x in l1:
if x in l2:
compteur =compteur + 1
if compteur != 0:
return True
else:
return False
l1 = [2,35,5,6,21]
l2 = [2,13,5,7,19]
print(elementsCommun(l1,l2))
# Ce qui affiche True
Exercice 31
Écrire un programme Python qui permet d'extraire la liste des entiers pairs et la liste des entiers impairs
d'une liste de nombres.
Solution
def extract(l):
pair = []
impair = []
for x in l:
if(x%2 == 0):

12
pair.append(x)
else:
impair.append(x)
print("La liste des entiers pair est : ",pair)
print("La liste des entiers impair est : ",impair)
# Tester l'algorithme
l =[23,4,56,7,8,9,0,18,7,6,55,43,2]
print(extract(l))
"""
Ce qui affiche après exécution :
La liste des entiers pair est : [4, 56, 8, 0, 18, 6, 2]
La liste des entiers impair est : [23, 7, 9, 7, 55, 43]
"""

Exercice 32
Écrire un programme en Python qui renvoie toutes les listes obtenues en permutant les termes d'une liste
donnée.
Solution
"""
importation du module itertools:
Ce module implémente de nombreux blocks d'itérateurs inspirées des constructions APL,
Haskell et SML.
"""
import itertools
# Exemple d'utilisation
l = [1,2,3,4]
permutations = itertools.permutations(l)
L = list(permutations)
print ("Les listes obtenues en échangeant les termes de la liste l:\n", L)

Exercice 33
Ecrire un programme en Python qui demande à l'utilisateur de saisir une chaine de caractères et
d'afficher les caractères d'indice pair. Exemple pour la chaine s = "Python", le programme
renvoie 'Pto'.
Solution
1 ère méthode
# Lire la chaine s
s = input("Saisissez la chaine s :")
s1 = ""
i = 0
while(i<len(s)-1):
s1 = s1 + s[i]
i = i +2
print(s1)
2ème méthode
# Lire la chaine s
s = input("Saisissez la chaine s :")
# parcourt de la chaine s avec le pas = 2
print(s[0: len(s):2])

Exercice 34
Etant donnée la liste des notes des élèves : notes = [12, 04, 14, 11, 18, 13, 07, 10, 05, 09, 15, 08,
14, 16]. Ecrire un programme Python qui permet d’extraire de cette liste et créer une autre liste qui
contient uniquement les notes au-dessus de la moyenne (les notes >= 10).

13
Solution
notes = [12, 4, 14, 11, 18, 13, 7, 10, 5, 9, 15, 8, 14, 16]
# définir la liste qui contiendra les notes au-dessus de la moyenne
moyenne = []
for x in notes:
# ajouter uniquement les notes >= 10 à la liste moyenne
if(x >= 10):
moyenne.append(x)
print ("La liste contenant uniquement les notes supérieures à la moyenne est:\n", moyenne)

Exercice 35
Ecrire un programme en Python permettant de supprimer les espaces multiples dans une chaine s
Solution
s = "Exemple de texte avec des espaces multiples"
# Transformer le texte en une liste
L = s.split()
# initialiser le texte sans espace à un texte vide
texteSansEspace = ""
# Reconstruire le texte en parcourant les éléments de la liste
for x in L:
texteSansEspace = texteSansEspace + x + " "
print(texteSansEspace)

Exercice 36
Ecrire un programme Python qui permet de regrouper dans une liste les mots communs à deux chaines
s1 et s2.
Solution
def motsCommuns(s1,s2):
L1 = s1.split()
L2 = s2.split()
communs = []
for x in L1:
if(x in L2):
communs.append(x)
return communs
# Exemple
s1 = " Python est un langage de programmation de haut niveau"
s2 = " Python est un langage interprété"
print("La liste des mots communs à s1 et s2 est : ", motsCommuns(s1,s2))

Ce qui affiche à l’exécution :


La liste des mots communs à s1 et s2 est : ['Python', 'est', 'un', 'langage']

Exercice 37
Ecrire un programme Python qui permet de chercher le mot le plus long sur une chaine s
Solution
def motMax(s):
L = s.split()
mot = ""
for x in L:
if(len(x)>len(mot)):
mot = x
return mot
# Exemple
s = "Python est un langage de programmation orienté objet"
print("Le mot le plus long dans la chaine s est : ", motMax(s))
14
Ce qui affiche à l'exécution:
Le mot le plus long dans la chaine s est : programmation
Exercice 38
Ecrire un programme Python qui permet de compter le nombre de mots sur une chaîne s. On
suppose que le texte est bien formé (un espace après chaque ponctuation et aucun espace avant la
ponctuation)
Solution
# -*- coding: utf-8 -*-
s = "Python est un langage de programmation. Python est orienté objet"
# Transformation de la chaine s en une liste
L = s.split()
# Récupération du nombre d'élément de la liste L
nombreMots = len(L)
print("Le nombre de mot de la chaine s est : ", nombreMots)

Exercice 39
Ecrire un programme Python qui permet d'échanger le premier et le dernier mot. Exemple si s ="Pyhon
est un langage de programmation", le programme renvoie la chaine s2 = "programmation est
un langage de Pyhon". On suppose que le texte est bien formé (un espace après chaque ponctuation
et aucun espace avant la ponctuation).
Solution
s = "Python est un langage de programmation"
# Transformation de la chaine s en une liste L
L = s.split()
# Récupération du nombre d'élément de la liste L
n = len(L)
# récupération du premier et dernier élément
premier = L[0]
dernier = L[n-1]
# On supprime le premier et le dernier élément de la liste L
L.pop(n-1)
L.pop(0)
# On reconvertit la liste L en une chaine
s1 = " ".join(L)
# échanger le premier et le dernier élément dans la chaine s
s = dernier + " " + s1 + " " + premier
print(s)

Exercice 40
Créez une fonction Python, appelée nombreDivisibles, qui s'applique à une liste de nombres et
un entier n, et qui renvoie le nombre d’éléments de la liste qui sont divisible par n.
Solution
# -*- coding: UTF-8 -*-
def nombreDivisibles(l,n):
i = 0
for k in l:
if( k%n == 0):
i = i + 1
return i
l = [12, 4, 7, 9,11]
n = 3
print("Le nombre d'élément de l qui sont divisible par ",n, " est :
",nombreDivisibles(l,n))

15

Vous aimerez peut-être aussi