0% ont trouvé ce document utile (0 vote)
276 vues8 pages

Exercices Python pour Débutants

Ce document contient une série d'exercices Python avec des programmes illustrant différents concepts comme les opérations mathématiques, les fonctions, les chaînes de caractères et les nombres premiers.

Transféré par

Mohamed Krichen
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
276 vues8 pages

Exercices Python pour Débutants

Ce document contient une série d'exercices Python avec des programmes illustrant différents concepts comme les opérations mathématiques, les fonctions, les chaînes de caractères et les nombres premiers.

Transféré par

Mohamed Krichen
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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)

Vous aimerez peut-être aussi