Académique Documents
Professionnel Documents
Culture Documents
TD ET TP DE PROGRAMMATION PYTHON
Année : 2020- 2021
def factoriel_while(n):
i = n - 1
while(i >= 1):
n = n * i
i = i - 1
return n
# Si le script est executer en tant que programme principal
if __name__ == "__main__":
print("Programme qui calcul le factoriel du nombre saisi !")
nbr = int(input("Saisissez le nombre : "))
n1 = factoriel_for(nbr)
n2 = factoriel_while(nbr)
print("\nLe factoriel du nombre en utilisant la boucle for est :\n", nbr, "!=", n1
)
print("Le factoriel du nombre en utilisant la boucle while est :\n", nbr,"!=", n2)
def combinaison(_p, _n):
comb = fac(_n) / (fac(_p) * fac(_n - _p))
return comb
print("Programme qui calcul la combinaison de p nombres choisi parmis n nombres !"
)
while True:
p = int(input("Entrez la valeur de p : "))
n = int(input("Entrez la valeur de n : "))
if p <= n:
resultat = combinaison(p, n)
Abidjan, le 10/04/2023 1
print("La combinaison de", p,"dans", n,"est :", resultat)
break
else:
print("Combinaison impossible ! p doit être inférieur a n...\n")
c) On suppose qu’il existe une relation de récurrence pour le calcul la combinaison d’un
nombre p dans un nombre n en vous appuyant sur le triangle de pascal. En vous y
inspirant écrire une fonction combinaison récursive.
import sys
# pour augmenter le nombre de recursion maximal que le système peut atteindre
sys.setrecursionlimit(10**9)
def combinaison(_p, _n):
if (_p == _n or _p == 0):
return 1
elif (_p == 1):
return _n
else:
comb = combinaison(_p - 1, _n - 1) + combinaison(_p, _n - 1)
return comb
print("Programme qui fait une combinaison de p éléments choisi parmis n au moyen\
n\
de la formule du triangle de pascal")
while True:
p = int(input("Entrez la valeur de p : "))
n = int(input("Entrez la valeur de n : "))
if p <= n:
resultat = combinaison(p, n)
print("La combinaison de", p,"dans", n,"est :", resultat)
break
else:
print("Combinaison impossible ! p doit être inférieur a n...\n")
Abidjan, le 10/04/2023 2
resultat = round(sum(resultat), 2)
print("La somme des inverses est :", resultat)
b) Ecrire un code python permettant de saisir le mot de passe lic2mi sachant que
l’utilisateur n’a que trois essais
print("Programme qui verifie si une entrée correspond à un mot de passe, en trois essais"
)
essais_restant = 3
while essais_restant >= 1:
mdp = input("Entrez le mot de passe : ")
if mdp == "lic2mi":
print("Super ! Le mot de passe est correcte.")
break
else:
essais_restant -= 1
print("Désolé, le mot de passe est incorrecte !")
print(f"Nombre d'essais restant : {essais_restant}")
else:
print("\nVous n'aviez droit qu'à trois essais ! ")
c) Ecrire un code python permettant de réaliser une calculette avec les quatre
opérations de base. On utilisera l’instruction (if…elif….) pour permettre à l’utilisateur
de faire le choix de son opération
def somme(a, b):
som = a + b
return som
def soustraction(a, b):
sous = a - b
return sous
def produit(a, b):
prod = a * b
return prod
def division(a, b):
div = a / b
return div
print("""Mini calculatrice
Repondez en tapant 1, 2, 3, ou 4 :\n
1 - Somme
2 - Soustraction
3 - Produit
4 - Division
""")
Abidjan, le 10/04/2023 3
reponse = int(input("Réponse : "))
if (reponse == 1):
a = int(input("Entrez la valeur de A : "))
b = int(input("Entrez la valeur de B : "))
resultat = somme(a, b)
print("Le resultat de la somme est : ", resultat)
elif (reponse == 2):
a = int(input("Entrez la valeur de A : "))
b = int(input("Entrez la valeur de B : "))
resultat = soustraction(a, b)
print("Le resultat de la soustraction est : ", resultat)
elif (reponse == 3):
a = int(input("Entrez la valeur de A : "))
b = int(input("Entrez la valeur de B : "))
resultat = produit(a, b)
print("Le resultat du produit est : ", resultat)
elif (reponse == 4):
a = int(input("Entrez la valeur de A : "))
b = int(input("Entrez la valeur de B : "))
resultat = division(a, b)
print("Le resultat de la division est : ", resultat)
else:
print("Saisissez un entier correspondant à une des propositions de réponses"
)
d) Ecrire un code permettant de calculer le terme n d’une suite de fibonacci sachant que
u 0 = u 1 = 1 et u n = u n-1 + u n-2
def fibonacci(n):
if n == 0 or n == 1:
fib = 1
return fib
else:
for i in range(2, n + 1):
fib = fibonacci(n - 1) + fibonacci(n - 2)
return fib
# programme principal
a = int(input("Saisissez un entier svp : "))
print("Fibonacci(", a,") = ", fibonacci(a))
e) Écrire un module appeler cercle contenant une fonction circonférence pour le calcul
de la circonférence d’un cercle et aire pour le calcul de l’aire du cercle.
Abidjan, le 10/04/2023 4
from numpy import pi, round
def circonference(r):
"""Calcul la circonférence d'un cercle"""
c = 2 * round(pi, 2) * r
return c
def aire(r):
"""Calcul de l'aire d'un cercle"""
a = round(pi, 2) * (r ** 2)
return a
print("Programme qui calcul la circonférence ou l'aire d'un cercle.")
while True:
print("1 - Tapez 1 pour calculer la circonférence d'un cercle\n2 - Tapez 2 pour calc
d'un cercle")
reponse = int(input("Réponse : "))
if (reponse == 1):
print("\nPour calculer la circonférence d'un cercle nous avons besoin de son ray
)
rayon = float(input("Rayon du cercle : "))
circ = circonference(rayon)
print(f"La circonférence de ce cercle est de {circ} cm.")
break
elif (reponse == 2):
print("\nPour calculer l'aire d'un cercle nous avons besoin de son rayon en cm..
rayon = float(input("Rayon du cercle : "))
circ = circonference(rayon)
print(f"L'aire de ce cercle est de {circ} cm carré.")
break
else:
print("\nSaisissez un chiffre correspondant à une des proposition de réponses...
Abidjan, le 10/04/2023 5
c = int(input("Donnez C : "))
delta = b ** 2 - (4 * a * c)
if (delta < 0):
print("Pas de solutions réelles pour l'équation : ", str(a) + "x^2 " + str(b) + "x "
elif (delta == 0):
x = -b / (2 * a)
print("L'équation admet une unique solution réelle x tel que :\n", "x =", round(x, 2)
else:
x1 = (-b - sqrt(delta)) / (2 * a)
x2 = (-b + sqrt(delta)) / (2 * a)
print("L'équation admet deux solutions réelle x1 et x2 tel que :\n", "x1 =",
round(x1, 2), "et x2 =", round(x2, 2))
# ii. Afficher le maximum du tuple 2
print(max(tuple2))
Abidjan, le 10/04/2023 6
# iii. Afficher le minimum du tuple 2
print(min(tuple2))
# iv. Afficher la somme du tuple 2
print(sum(tuple2))
# v. Afficher le premier élément du tuple 2
print(tuple2[0])
# vi. Combiner deux tuples 1 et 2 en un tuple 3 vii
tuple3 = tuple1 + tuple2
# vii. Afficher le tuple 3
print(tuple3)
# viii. Dupliquer le tuple 1
tuple1 = list(tuple1)
duplicatat_tuple1 = tuple1.copy()
duplicatat_tuple1 = tuple(duplicatat_tuple1)
tuple1 = tuple(tuple1)
# x. Afficher une tranche du tuple 2
print(tuple2[0:3])
# xi. Afficher le dernier élément du tuple 1
print(tuple1[len(tuple1) - 1])
# xii. Vérifier si 2 est un élément du tuple 2 en utilisant l’opérateur in
if 2 in tuple2:
print("2 est bien dans le tuple 2")
else:
print("2 n'est pas dans le tuple 2")
# xiii. Convertir le tuple 2 en une liste nommée list1
list1 = list(tuple2)
# xiv. Trier list1 et afficher list1
list1.sort()
print(list1)
Abidjan, le 10/04/2023 7
for j in range(0, len(tab) - i - 1):
if tab[j] > tab[j + 1]:
# Echange des 2 elements trouvés
tab[j], tab[j + 1] = tab[j + 1], tab[j]
return tab
print("Programme qui met en oeuvre la méthode de tri bulles pour ranger des nombres réels par ordre cro
n\
que l'utilisateur aura saisi un par un !")
while True:
print("\nDonnez le nombre d'éléments à trier.")
nbr_elements = int(input("Réponse : "))
if nbr_elements != 1:
tab = []
print("\nOk ! Entrez les", nbr_elements, "nombres réels à trier un par un")
for i in range(1, nbr_elements + 1):
n = int(input("Entrez le nombre " + str(i) + " : "))
tab.append(n)
print("\nVoici :")
print("Le tableau avant le tri :", tab)
tab = tri_bulle(tab)
print("Et le tableau après le tri :", tab)
break
else:
print("Tri d'un seul éléments impossible !")
while True:
print("\nDonnez le nombre d'éléments dans la liste.")
nbr_elements = int(input("Réponse : "))
if nbr_elements != 1:
liste = []
print("\nOk ! Entrez les", nbr_elements, "éléments de la liste")
for i in range(1, nbr_elements + 1):
n = int(input("Entrez le nombre " + str(i) + " : "))
liste.append(n)
minimum = recherche_min(liste)
Abidjan, le 10/04/2023 8
print("Le plus petit éléments de la liste est :", minimum)
break
else:
print("Impossible de chercher un minimum dans une liste d'un seul éléments!")
A = array(([3, -1], [4, 2]))
B = array(([2, 2], [1, 0]))
print("Programme qui fait le produit de deux matrices carrées A et B d'ordre 2"
)
prod = A.dot(B)
print("Le produit de A et B est :\n A x B =\n", prod)
etudiants = []
noms = []
matricules = []
moyennes = []
for i in range(1, 11):
print("\nEtudiant", i)
nom = input("Nom : ")
matricule = input("Matricule : ")
moyenne = float(input("Moyenne : "))
noms.append(nom)
matricules.append(matricule)
moyennes.append(moyenne)
noms.sort()
print("Liste des étudiants enregistrer par ordre de nom : \n")
for i, _nom, _mat, _moy in zip(range(1, 4), noms, matricules, moyennes):
print(i,"-L'étudiant", _nom, "a", _moy, "de moyennes et son numero matricule est le", _mat
)
Abidjan, le 10/04/2023 9
iv. mettre la phrase en majuscule
Travaux pratiques
Après la prise en main de petits programmes sous python, on pourra programmer certains
exercices du TD
Abidjan, le 10/04/2023 10