Série d’exercice Python
Exercice 1 : programme qui affiche le résultat selon l’opérateur
if __name__ == '__main__':
a=int(input("donner un entier"))
b=int(input("donner un autre entier"))
op=input("donner l'opération")
if (op=="+"):
s=a+b
mes="la somme de " + str(a)+" et "+str(b)+" = "+str(s)
elif (op=="-"):
s = a - b
mes = "la soustraction de " + str(a) + " et " + str(b) + " = " + str(s)
elif(op=="*"):
s = a * b
mes = "la multiplication de " + str(a) + " et " + str(b) + " = " + str(s)
elif(op=="/"):
s = a / b
mes = "la division de " + str(a) + " et " + str(b) + " = " + str(s)
elif (op == "//"):
s = a // b
mes = "la division entier de " + str(a) + " et " + str(b) + " = " + str(s)
elif (op == "%"):
s = a % b
mes = "le reste de la division de " + str(a) + " et " + str(b) + " = " + str(s)
else:
mes="autre"
print(mes)
Exercice 2 : programme résolution équation de second degré
from math import *
if __name__ == '__main__':
print("résolution équation de second degré ")
a=int(input("saisir le coefficient a :"))
b = int(input("saisir le coefficient b :"))
c = int(input("saisir le coefficient c :"))
if a==0:
if b==0:
if c==0:
print("l'ensemble R")
else :
print("vide")
else:
print("equation de premier degré de solution : ",-c/b)
else:
delta=b*b-4*a*c
if delta==0:
print ("solution double X1 = X2 = ", -b/(2*a))
elif delta>0:
x1=(-b-sqrt(delta))/(2*a)
x2=(-b+sqrt(delta))/(2*a)
print("2 solution X1 = ",x1, " et X2 = ", x2)
else:
z1 = (-b-1j* sqrt(-delta)) / (2 * a)
z2 = (-b +1j* sqrt(-delta)) / (2 * a)
print("2 solution Z1 = ", z1, " et Z2 = ", z2)
Exercice 3 : Ecrire un programme qui permet de calculer le factoriel d’un
entier donné au clavier
N ! = 1*2*3*……*N
if __name__ == '__main__':
n=int(input("donner un entier : "))
f=1
for i in range(1,n+1):
f=f*i
print(f)
Exercice 4 : Ecrire un programme qui permet de faire la somme de quatre
entier en utilisant deux entiers
S=a+b+c+d
[s=s+a(saisie au clavier)] 4fois
if __name__ == '__main__':
s=0
for i in range(4):
a=int(input("donner un entier : "))
s=s+a
print("la somme est : "+str(s))
Exercice 5 : Ecrire un programme qui affiche l’entier paire inférieur à
100
if __name__ == '__main__':
for i in range(0,100,2):
print(i)
Exercice 6 : Ecrire un programme qui vérifier si un entier est premier
Test = vrai
[ tester si ce entier est divisible par un autre entier alors il n’est pas premier ]
if __name__ == '__main__':
n=int(input("donner l'entier à vérifier : "))
test=True
i=2
while((test==True)&(i<=n/2)):
if n%i==0 :
test=False
else:
i=i+1
if test==True :
print("l'entier est premier")
else:
print("l'entier n'est pas premier")
Exercice 7 : Ecrire un programme qui affiche les entier premier inférieur
à 100
if __name__ == '__main__':
for n in range(2,100):
test=True
i=2
while((test==True)&(i<=n/2)):
if n%i==0 :
test=False
else:
i=i+1
if test==True :
print(n)
Exercice 8 :
Écrire un programme en python pour réviser ses tables de multiplication.
Le programme tire 2 entiers au hasard et demande à l'utilisateur le produit.
La fonction « randint » du paquetage « random »
On interrogera 10 fois l'utilisateur. 1 pt par bonne réponse et -1 sinon.
Score=0
Le système donne deux entiers a, b
Afficher c’est deux entiers à l’utilisateur
Saisie de son essaie (résultat = r)
Vérifier si r==a*b alors afficher juste et ajouter 1 au score sinon -1
] 10 fois
from random import *
if __name__ == '__main__':
s=0
for i in range(10):
a=randint(1,10)
b=randint(1,10)
print(a)
print(b)
r=int(input("donner le resultat du multiplication : "))
if r== a*b:
s+=1
else:
s-=1
print("le score est :"+str(s))
Exercice 9 : Écrire un programme en python qui permet de calculer la
combinaison C
Saisir N
Et saisir P mais doit être <N
C=N !/P !*(N-P) !
if __name__ == '__main__':
n=int(input("donner N : "))
p=int(input("donner P : "))
while p>n :
p = int(input("donner P : "))
fn=1
for i in range(1, n + 1):
fn*= i
fp=1
for i in range(1,p+1):
fp*=i
fnp=1
for i in range(1,n-p+1):
fnp*=i
c=fn/fp*fnp
print(c)
Exercice 10: Écrivez un programme pour saisir un nombre de l'utilisateur
et affichez-le en mots :
Données d'entrée
Saisir un nombre : 123001
Données de sortie
Un Deux Trois Zéro Zéro Un
if __name__ == '__main__':
n=int(input("donner un entier ")) #saisir un entier
ch="" #initialiser ch à null
while(n!=0) : # il faut pas oblier le ":"
r=n%10 #c'est le mod
n=n//10 #c'est la division entière
if r==0 :
ch="zéro "+ch
elif r==1 :
ch="un "+ch
elif r == 2:
ch = "deux " + ch
elif r == 3:
ch = "trois " + ch
elif r == 4:
ch = "qutre " + ch
elif r == 5:
ch = "cinq " + ch
elif r == 6:
ch = "six " + ch
elif r == 7:
ch = "sept " + ch
elif r == 8:
ch = "huit " + ch
else :
ch = "neuf " + ch
print(ch)
Exercice 11 : programme qui affiche le résultat selon l’opérateur en
utilisant les fonctions
def somme(a,b):
s = a + b
mes = "la somme de " + str(a) + " et " + str(b) + " = " + str(s)
return mes
def soustraction(a,b):
s = a - b
mes = "la soustraction de " + str(a) + " et " + str(b) + " = " + str(s)
return mes
def multiplication(a,b):
s = a * b
mes = "la multiplication de " + str(a) + " et " + str(b) + " = " + str(s)
return mes
def division (a,b):
s = a / b
mes = "la division de " + str(a) + " et " + str(b) + " = " + str(s)
return mes
def divisionEntier (a,b):
s = a // b
mes = "la division de " + str(a) + " et " + str(b) + " = " + str(s)
return mes
def reste (a,b):
s = a % b
mes = "la division de " + str(a) + " et " + str(b) + " = " + str(s)
return mes
if __name__ == '__main__':
a=int(input("donner un entier"))
b=int(input("donner un autre entier"))
op=input("donner l'opération")
if (op=="+"):
mes=somme(a,b)
elif (op=="-"):
mes = soustraction (a,b)
elif(op=="*"):
mes = multiplication (a,b)
elif(op=="/"):
mes=division(a, b)
elif (op == "//"):
mes=divisionEntier (a,b)
elif (op == "%"):
mes=reste (a,b)
else:
mes="autre"
print(mes)
Exercice 12 :Chaine
Ecrire les fonctions suivantes :
- La fonctions lire_chaine() qui lit et retourne une chaine de caractère.
- La fonction comparer_chaine(ch1,ch2) qui compare les deux chaines en paramètres et retourne « True » si elles
sont identiques et « False » sinon.
- La fonction palindrome(ch) qui teste si la chaine donnée en paramètre est un palindrome et affiche le message
correspondant.
- La fonction vide_chaine(ch) qui teste si la chaine donnée en paramètre est vide et affiche le message
correspondant.
- La fonction affiche_vertical(ch) qui affiche la chaine donnée en paramètre caractère par caractère chacun seul dans
une ligne.
- La fonction compte_voyelle(ch) qui retourne le nombre de voyelles contenus dans la chaîne ch.
- La fonction compte_consonne(ch) qui retourne le nombre de consonnes contenus dans la chaîne ch.
- La fonction concat(ch1,ch2) qui permet de concaténer ch2 à la fin de ch1 et retourner la chaine ch1.
- La fonction doubler(ch) qui retourne une chaine dupliquée (ch*2)
Ecrire un script Python qui propose à l’utilisateur un menu de choix de fonctionnalités parmi celles des fonctions
développées précédemment.
Avant d’afficher le menu, on demande à l’utilisateur de saisir une chaine de caractères.
L’utilisateur saisira le n° de son choix parmi :
1- Comparer chaines (on demandera à l’utilisateur de saisir une deuxième chaine de caractères)
2- Tester palindrome
3- Chaine Vide ?
4- Afficher en vertical
5- Nombre de voyelles
6- Nombre de consonne
7- Concaténer chaines (on demandera à l’utilisateur de saisir une deuxième chaine de caractères)
8- Dupliquer chaine
9- Quitter menu
def lire_chaine() :
ch=input("donner une chaine")
return ch
def comparer_chaine(ch1,ch2):
if(ch1==ch2):
return True
else:
return False
def palindrome(ch):
x=len(ch)
r=x-1
for i in range(0,x//2):
a=ch[i]
b=ch[r]
if(a==b):
r=r-1
else:
break
if(r>i):
return True
else:
return False
def vide_chaine(ch):
if(ch==""):
return True
else:
return False
def affich_vert(ch):
for i in range(len(ch)):
print(ch[i])
def compte_voyelle(ch):
comp=0
for i in range(len(ch)):
if ch[i] in ("o","i","y","e","a","u"):
comp=comp+1
return comp
def compte_consonne(ch):
comp = 0
for i in range(len(ch)):
if ch[i] not in ("o", "i", "y", "e", "a", "u"):
comp = comp + 1
return comp
def compte_voy_consonne(ch):
compvoy = 0
compcon = 0
for i in range(len(ch)):
if ch[i] not in ("o", "i", "y", "e", "a", "u"):
compvoy = compvoy + 1
else:
compcon = compcon + 1
return compvoy, compcon
#La fonction concat(ch1,ch2) qui permet de concaténer ch2 à la fin de ch1 et retourner
la chaine ch1.
def concat (ch):
ch2=lire_chaine()
ch=ch+" "+ch2
return ch
#La fonction doubler(ch) qui retourne une chaine dupliquée (ch*2)
def doubler (ch):
ch=ch+ch
return ch
if __name__ == '__main__':
choix=0
while (choix !=9):
ch=input("chaine : ")
print("-------Menu-------")
print("1- Comparer chaines")
print("2- Tester palindrome")
print("3- Chaine Vide ?")
print("4- Afficher en vertical ")
print("5- Nombre de voyelles")
print("6- Nombre de consonne ")
print("7- Concaténer chaines")
print("8- Dupliquer chaine")
print("9- Quitter menu")
choix=int(input("donne votre choix : "))
if choix==1:
ch1=lire_chaine()
print(comparer_chaine(ch, ch1))
elif choix==2:
print(palindrome(ch))
elif choix==3:
if vide_chaine(ch)==True:
print("la chaine est vide")
else:
print("la chaine n'est pas vide")
elif choix ==4:
affich_vert()
elif choix==5 :
print("le nombre de voyelles est : ",compte_voyelle())
elif choix==6:
print("le nombre de consonne est : ", compte_consonne())
elif choix==7:
print(concat(ch))
elif choix==8:
print(doubler(ch))
elif choix==9:
print("quiter")
else :
print("erreur choisir entre 1 et 9")
Exercice 13 : Tableau (liste)
1- Écrivez un programme pour déclarer et initialiser un tableau,
2- saisissez ses éléments à partir de l'utilisateur et affichez le tableau.
3- saisissez ses éléments par l'utilisateur et affichez tous les éléments négatifs.
4- saisir ses éléments à partir de l'utilisateur et trouver la somme des éléments du tableau
5- saisir ses éléments à partir de l'utilisateur et rechercher les éléments maximum et minimum dans le tableau
6- saisissez ses éléments à partir de l'utilisateur et comptez le nombre d'éléments pairs et impairs dans ce tableau
7- puis inversez ce tableau sans utiliser un tableau supplémentaire.
def saisirTab(N):
# Saisir les éléments du tableau source
t = [0] * N;
for i in range(N):
t[i] = int(input("Saisir l'élement {0} : ".format(i + 1)))
return t
def afficherTab(tab,N):
for i in range(N):
print(tab[i], end=', ')
def elementNeg(tab,N):
t = []
for i in range(N):
# Si l'élément de tableau actuel est négatif */
if (tab[i] < 0):
[Link](tab[i])#pour avoir un nombre d'element aléatoir
return t
def sommeTab(tab,N):
s = 0
for i in range(N):
s = s + tab[i]
return s
def maxTab(tab,N):
max = tab[0]
min = tab[0]
for i in range(N):
# Si l'élément actuel est supérieur à max */
if (tab[i] > max):
max = tab[i]
# Si l'élément actuel est inférieur à min */
if (tab[i] < min):
min = tab[i]
return max, min
def pariteTab(tab,N):
# En supposant qu'il y a 0 éléments pairs et impairs
pair = 0
impair = 0
for i in range(N):
# Si l'élément courant du tableau est pair, incrémenter le nombre pair
if (tab[i] % 2 == 0):
pair += 1
else:
impair += 1
return pair, impair
if __name__ == '__main__':
# Saisir la taille actuelle du tableau
N = int(input("Saisir le nombre d'éléments : "))
# intialiser la taille de tableau avec N
tab = [0] * N;
#saisir tableau
tab=saisirTab(N)
#affichage d'un tableau
afficherTab(tab,N)
#chercher les élément négatifs
print("Les éléments négatifs du tableau sont : ")
tNeg= elementNeg(tab,N)
afficherTab(tNeg,len(tNeg))
#chercher la somme des éléments d'un tableau
somme=sommeTab(tab,N)
print("Somme de tous les éléments du tableau = ", somme)
#chercher le max et lemin d'un tableau
max,min=maxTab(tab,N)
print("Maximum = ", max)
print("Minimum = ", min)
#chercher les pairs et les impairs
pair, impair=pariteTab(tab,N)
print("Total des éléments pairs: ",pair)
print("Total des éléments impairs : " ,impair)
#inversez ce tableau sans utiliser un tableau supplémentaire
for i in range(N//2):
a=tab[i]
tab[i]=tab[N-i-1]
tab[N-i-1]=a
print(tab)