Vous êtes sur la page 1sur 19

Exercice 1 || Les bases de Python

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

nom = input("Tapez votre nom : ")


print("Bienvnue : " , nom)

Exercice 2 || Somme de deux nombres


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

# -*- coding: utf-8 -*-


# 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 || Maximum de deux nombres


Ecrire un programme en Python qui demande à l’utilisateur de saisir deux nombres a et b et de lui afficher
leur maximum.
Solution

# -*- coding: utf-8 -*-


# 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 de 100 premiers nombres en Python


Ecrire un programme en langage Python qui affiche les 100 premiers nombres entiers .
Solution

# -*- coding: utf-8 -*-


# 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
"""
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

# -*- coding: utf-8 -*-


# 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 || Afficher majeur ou mineur selon l’âge en python


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

# -*- coding: utf-8 -*-


# 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 || Maximum de trois nombres en python


Ecrire un programme en Python qui demande à l’utilisateur de saisir 3 nombre x, y et z et de lui afficher
leur maximum .
Solution

# -*- coding: utf-8 -*-


# 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 || Calcul de la somme des premiers nombres en python
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

# -*- coding: utf-8 -*-


# 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


j = 0
for i in range(1,n+1):
j = j + i
print("La somme 1 + 2 + 3 + ...+ ",n," = : ", j)

Exercice 9 || Factorielle d’un entier en Pyth on


Ecrire un programme en Python qui demande à l’utilisateur de saisir un nombre entier n et de lui afficher n
!
Solution

# -*- coding: utf-8 -*-


# 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


j = 0
for i in range(1,n+1):
j = j*i
print("Factorielle de n est : ",n,"! = : ", j)

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

# -*- coding: utf-8 -*-


# 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**2)*(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 || Déterminer les diviseurs d’un entier en Python


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

# -*- coding: utf-8 -*-


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 || Table de multiplication en Python
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 .
Solution

Table de multiplication d’un entier saisi au clavier

# -*- coding: utf-8 -*-


# 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

# -*- coding: utf-8 -*-


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 multiplication de : 1 est :
1 x 1 = 1
2 x 1 = 2
3 x 1 = 3
4 x 1 = 4
5 x 1 = 5
6 x 1 = 6
7 x 1 = 7
8 x 1 = 8
9 x 1 = 9
————————————–
la table de multiplication de : 2 est :
1 x 2 = 2
2 x 2 = 4
3 x 2 = 6
4 x 2 = 8
5 x 2 = 10
6 x 2 = 12
7 x 2 = 14
8 x 2 = 16
9 x 2 = 18
————————————–
la table de multiplication de : 3 est :
1 x 3 = 3
2 x 3 = 6
3 x 3 = 9
4 x 3 = 12
5 x 3 = 15
6 x 3 = 18
7 x 3 = 21
8 x 3 = 24
9 x 3 = 27
————————————–
la table de multiplication de : 4 est :
1 x 4 = 4
2 x 4 = 8
3 x 4 = 12
4 x 4 = 16
5 x 4 = 20
6 x 4 = 24
7 x 4 = 28
8 x 4 = 32
9 x 4 = 36
————————————–
la table de multiplication de : 5 est :
1 x 5 = 5
2 x 5 = 10
3 x 5 = 15
4 x 5 = 20
5 x 5 = 25
6 x 5 = 30
7 x 5 = 35
8 x 5 = 40
9 x 5 = 45
————————————–
la table de multiplication de : 6 est :
1 x 6 = 6
2 x 6 = 12
3 x 6 = 18
4 x 6 = 24
5 x 6 = 30
6 x 6 = 36
7 x 6 = 42
8 x 6 = 48
9 x 6 = 54
————————————–
la table de multiplication de : 7 est :
1 x 7 = 7
2 x 7 = 14
3 x 7 = 21
4 x 7 = 28
5 x 7 = 35
6 x 7 = 42
7 x 7 = 49
8 x 7 = 56
9 x 7 = 63
————————————–
la table de multiplication de : 8 est :
1 x 8 = 8
2 x 8 = 16
3 x 8 = 24
4 x 8 = 32
5 x 8 = 40
6 x 8 = 48
7 x 8 = 56
8 x 8 = 64
9 x 8 = 72
————————————–
la table de multiplication de : 9 est :
1 x 9 = 9
2 x 9 = 18
3 x 9 = 27
4 x 9 = 36
5 x 9 = 45
6 x 9 = 54
7 x 9 = 63
8 x 9 = 72
9 x 9 = 81
Exercice 13 || Quotient et reste de la division euclidienne de a par b en Python
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 a par b.
Solution

# -*- coding: utf-8 -*-


# 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 || Carré parfait en Python


Ecrire un programme en langage Python qui demande à l’utilisateur de saisir un nombre entier n et de lui
afficher si ce nombre est carré parfait ou non .
Solution

# -*- coding: utf-8 -*-


# Lire la valeur de l'entier n
n = int(input("Tapez la valeur de n : "))
# On utilise un compteur j
j = 0
for i in range(0,n):
if(i**2 == n):
j = j +1
if(j > 0):
print("L'entier ", n , " est un carré parfait")
else:
print("l'entier ", n , " n'est pas est un carré parfait")

Exercice 15 || Tester si un nombre est premier ou non en Python


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

# -*- coding: utf-8 -*-


# 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(1, n+1):
if(n%i == 0):
j = j + 1

# On teste si le nombre de diviseurs de n est = 2 pour conclure que n est


premier
if( j == 2):
print("Le nombre ", n , " est premier")
else:
print("Le nombre ", n , " n'est pas premier")
Exercice 16 || Parcourir les caractères d’une chaine en Python
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
Solution

1ère méthode

# -*- coding: utf-8 -*-


# 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)

Exercice 17 || Nombre d’occurrence d’un caractère dans une chaine en Python


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 = «
P ython.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 chain e 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
Solution

# -*- coding: utf-8 -*-


s = "Python est un langage de programmation"
# regrouper les caractères de s dans un ensemble pour éviter les répetitions
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 || Position d’un caractère dans une chaine en Python


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

# -*- coding: utf-8 -*-


# Demander à l'utilisateur de tapez la valeur de s
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 égale à 'a'
if(s[i] == 'a'):
print("Le caractère 'a' se trouve à la position : " , i , " dans
la chaine s")

Exercice 19 || Lister les éléments d’une liste en Python


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 || Echanger le premier caractère et le dernier caractère d’une chaine


Ecrire un programme en langage Python, permettant d’échanger le premier et le dernier caractère d’une
chaine donnée.
Solution

# -*- coding: utf-8 -*-


# 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 || Nombre de voyelles d’une chaine en Python
Ecrire un programme en langage Python, qui permet de compter le nombre de voyelles dans une chaine
donnée. Exemple pour la chaine s= ‘anticonstitutionellement’ le programme doit renvoyer le message
suivant : La chaine anticonstitutionellement 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 = "anticonstitutionellement"
# 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):
number_vowels = number_vowels + 1
print("Le nombre de voyelles de la chaine 's' est : ", number_vowels)

Exercice 22 || Premier mot d’un texte en Python


Ecrire un programme en Python, qui permet de renvoyer le premier mot d’un texte donné. Exemple pour
le texte : t =’P ython est un merveilleux langage de programmation’ , le programme doit
renvoyer P ython
Solution

# -*- coding: utf-8 -*-


# programme qui détermine le premier mot d'une chain de cractè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 || Déterminer l’extension d’un fichier en Python


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

# -*- coding: utf-8 -*-


# 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)
Exercice 24 || Palindrome en Python
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

# -*- 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 25 || Inverser une chaine en Python


Ecrire un programme qui demande à l’utilisateur de saisir un mot et de lui renvoyer son inverse. Exemple
si l’utilisateur saisi le mot p ython , le programme lui renvoie noht yp .
Solution

Première méthode

# -*- coding: UTF-8 -*-

# Lire la variable string s


s = input("Tapez une chaine s : ")

# obtenir l'inverse de la chaine s


s1 = s[::-1]

print("L'inverse de la chaine : '",s,"' est : ", s1)

Seconde méthode

# -*- coding: UTF-8 -*-


# Lire la variable string s
s = input("Tapez une chaine s : ")
# initialiser l'inverse à une chaine vide
inv = ""

# construction de l'inverse d'une façon récursive


for x in s:
inv = x + inv
print("L'inverse de la chaine : '",s,"' est : ", inv)

Exercice 26 || Chercher les mots qui commencent par la lettre a dans un texte
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

# -*- coding: UTF-8 -*-


# 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

# -*- coding: UTF-8 -*-


# 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 : if you type "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 || Fonction qui calcule la somme et le produit des éléments d’une liste
É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.
Solution

# -*- coding: UTF-8 -*-


# 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 || Tester si une liste ou une chaine est vide en Python
É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

# -*- coding: UTF-8 -*-


# 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")

2ème méthode

# Tester si une liste Le 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")
Exercice 29 || Supprimer les éléments dupliqués dans une liste en Python
Écrire un programme Python qui permet de supprimer les éléments dupliqués d’une liste.
Solution

1ère méthode

# -*- coding: UTF-8 -*-


# 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 mthode

# -*- coding: utf-8 -*-


# définir la fonction qui supprime 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 || Recherche les éléments communs à deux listes en Python


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

# -*- coding: UTF-8 -*-


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 || Extraire la liste des entiers pairs et la liste des entiers impairs d’une liste
É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

# -*- coding: UTF-8 -*-


def extract(l):
pair = []
impair = []
for x in l:
if(x%2 == 0):
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 || Détermination de toutes les listes en permutant une liste en Python


Écrire un programme en Python qui renvoie toutes les listes obtenues en permutant les termes d’une liste
donnée.
Solution

# -*- coding: UTF-8 -*-


"""
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 || Parcourt d’une chaine avec un pas=2 en Python


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 = “P ython” , le programme
renvoie ‘Pto’.
Solution

1 ère méthode

# -*- coding: utf-8 -*-


# 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

# -*- coding: utf-8 -*-


"""
# 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 || Extraire les notes supérieur à la moyenne d’une liste de notes


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 myenne ( les notes >= 10 )
Solution

# -*- coding: utf-8 -*-


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 || Convertir une adresse URL en un lien hypertexte


Ecrire un programme en Python qui permet de transformer une adresse url saisie au clavier en un lien .
Solution

# -*- coding: utf-8 -*-


# Lire adresse url
url = input("Saisir une url :")
# Lire le texte du lien hypertexte
text_lien = input("saisir le texte du lien")
# convert the url text to a link
url = "<a href='"+ url + "'> " + text_lien + "</a>"
print(url)

Exercice36 || Supprimer les espaces multiples d’un texte en Python


Ecrire un programme en Python permettant de supprimer les espaces multiples dans une chaine s.
Solution

# -*- coding: utf-8 -*-


s = "Exemple de texte avec des espaces multiple"
# 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 37 || Mots communs avec deux textes en Python


Ecrire un programme Python qui permet de regrouper dans une liste les mots communs à deux chaines s1
et s2.
Solution

# -*- coding: utf-8 -*-


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 38 || Mot le plus long dans une chaine en Python


Ecrire un programme Python qui permet de chercher le mot le plus long sur une chaine s.
Solution

# -*- coding: utf-8 -*-


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))
Ce qui affiche à l’exécution:
Le mot le plus long dans la chaine s est : programmation

Exercice 39 || Nombre de mots dans une chaine en Python


Ecrire un programme Python qui permet de compter le nombres 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 40 || Echanger le 1 er et le dernier caractère d’un texte en Python
Ecrire un programme Python qui permet d’échanger le premier et le dernier mot. Exemple si s =”P yh on
est un langage de programmation” , le programme renvoie la chaine s2 = “programmation est un
langage de P yhon”. 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"

# 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 41 || Nombre d’éléments d’une liste qui sont divisibles par un entier donné
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))
Exercice 42 || Nombre d’occurrence d’un élément donné en Python
Créer une fonction en Python nombreOccurences() qui s’applique à une liste L et un élément x comme
paramètres et qui retourne le nombre de fois où l’élément x apparait dans la liste L sans utiliser la
fonction count().
Solution

def nombreOccurences(L , x):


occ = 0
for element in L:
if element == x:
occ += 1
return occ

L = [3 , 11 , 3 ,8 , 3 , 23 , 3, 7 , 11, 3]
print("Le nombr d'occurrences de 3 dans l est : " , nombreOccurences(L,3))

Exercice 43 || Insérer des étoiles entre caractères d’une chaine en Python


Créer une fonction Python nommée InsertEtoile() qui place des “étoiles ” entre chaque caractères d’une
chaine fournie en entrée. Exemple pour la chaine s = “Python” , InsertEtoile(s) donne P*t*h*o*n
Solution

# coding: utf-8
def insertEtoile(s):
"""création d'une chaine vide qui va contenir
les caractères de la chaine s et séparés par des étoiles
"""
s2 = ""

#insérer des * entre les caractères de la chaine s


for x in s:
s2 = s2 + x + "*"
return s2

# Exemple:
s = "Python"
print(insertEtoile(s))

Exercice 44 || Transformer les mots d’une liste en majuscule en Python


Créer une fonction Python nommée toutEnMajuscule() qui permet de transformer une liste de chaines en
une autre liste constituée de chaines en majuscule.
# Exemple si L = ["Python", "est", "un", "langage", "de", "programmation"]
# La fonction doit retourner la lste L2 = ["PYTHON", "EST" , "UN", "LANGAGE",
"DE", "PROGRAMMATION"]

Solution

# coding: utf-8
def maj(L):
# Création d'une liste vide qui acceuillir les mots en majuscule
listMaj = []

# récupération des mots de L et les insérer en majusculer dans la liste


listMaj
for word in L:
listMaj.append(word.upper())
return listMaj

# Tester le programme
L = ["Python", "est", "un", "langage", "de", "programmation"]
print(maj(L))
Exercice 45 || Nombre de majuscules et de minuscules dans une chaine en Python
Écrire une fonction en Python qui prend en argument une chaine de caractères s et qui renvoie le nombre
de minuscules et de majuscules contenu dans la chaine s.
Solution

# coding: utf-8
def nombreMajMin(s):

# on initialise le nombre de majuscules et de minuscules à zéro


nombreMaj = 0
nombreMin = 0

# on parcourt les lettres de s en testant si le caractère est maj ou min


for lettre in s:
if(lettre.isupper()):
nombreMaj = nombreMaj + 1
elif lettre.islower():
nombreMin = nombreMin + 1

return (nombreMaj , nombreMin)


# On teste l'algorithme
s = "Python"
print(nombreMajMin(s))
print("Le nombre de majuscules est : " , nombreMajMin(s)[0])
print("Le nombre de minuscules est : " , nombreMajMin(s)[1])

Exercice 46 || Conversion de binaire en décimal dans une liste en Python


Écrire une fonction en langage Python permettant de fournir la liste des chiffres d’un nombre écrit en base
10 sans convertir le nombre en string et sans utiliser aucune fonction prédéfinie.
Solution
Exercice 47 || liste à des mots communs à deux textes en Python
Écrire un algorithme en langage Python qui permet de renvoyer une liste formée des mots communs à
deux textes. Exemple si T1 = “Python est un langage de programmation” et T2 = “Python est orienté objet”
, le programme doit renvoyer la liste des mots communs L = [‘Python’ , ‘est’ ].
Solution

# coding: utf-8
def motsCommuns(T1 , T2):

# Convertir les textes en des listes


L1 = T1.split()
L2 = T2.split()

# initialisation de la liste des mots communs à vide


communs = []

# on parcourt les éléments de la liste L1 et on teste leurs appartenance à


L2
for mot in L1:
if mot in L2:
communs.append(mot)

return communs

# On teste l'algorithme
T1 = "Python est un langage de programmation"
T2 = "Python est orienté objet"
print(motsCommuns(T1,T2))
# La sortie est : ['Python', 'est']

Vous aimerez peut-être aussi