Académique Documents
Professionnel Documents
Culture Documents
September 3, 2023
[ ]: # Appel à la fonction
fonction(3,6,5)
La somme de 3 , 6 et 5 est 14
[ ]: # Appel à la fonction
fonction(7,10,9)
La somme de 7 , 10 et 9 est 26
[ ]: # Appel à la fonction
produit(5,7)
5 x 7 = 35
[ ]: # Appel à la fonction
produit(3,7)
3 x 7 = 21
1.1 Exercice 1 :
Ecrire une fonction qui prend en paramètre un entier et affiche son factoriel.
[ ]: def factoriel(n):
f=1
for i in range(1,n+1):
f=f*i
print("Le factoriel de",n,"est",f)
1
1.2 Exercice 2 :
En utilisant la fonction ci dessus, ecrire un programme qui prend un entier chez l’utilisateur et qui
affiche son factoriel.
def test2(a,b):
s=a+b
return s
[ ]: 7
[ ]: # On affecte test1(3,4) à a
a = test1(3,4)
[ ]: # On affecte test2(3,4) à b
b = test2(3,4)
[ ]: # Cherchons le contenu de a
print(a)
None
[ ]: # Cherchons le contenu de b
print(b)
2
[ ]: s=test1(4,5)+test1(4,2)
print(s)
9
6
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-32-6955af746076> in <module>
----> 1 s=test1(4,5)+test1(4,2)
2 print(s)
[ ]: s=test2(4,5)+test2(4,2)
print(s)
15
[ ]: test1(4,2)==6
[ ]: False
[ ]: test2(4,2)==6
[ ]: True
def test4():
for i in range(5):
return i
0
1
2
3
4
3
[ ]: # On fait appel à test4()
test4()
[ ]: 0
[ ]: def test5():
for i in range(5):
if i>0:
return i
test5()
[ ]: 1
[ ]: def test6():
return("a")
return("b")
test6()
[ ]: 'a'
2.1 Exercice 3 :
Ecrire une fonction qui prend en paramètre un entier et qui retourne son factoriel.
[ ]: def fact(n):
f=1
for i in range(1,n+1):
f=f*i
return f
2.2 Exercice 4 :
En utilisant la fonction ci dessus, ecrire un programme qui prend un entier chez l’utilisateur et qui
affiche son factoriel.
2.3 Exercice 5 :
1. Ecrire une fonction qui prend en paramètre un entier et qui retourne le nombre de ses diviseurs.
2. Ecrire une fonction qui prend en paramètre un entier et qui retourne True s’il est premier et
False sinon. Utilisez deux méthodes.
4
[ ]: # 1 - Nombre de diviseurs d'un entier
def nbre_div(n):
s=0
for i in range(1,n+1):
if n%i==0:
s=s+1
return s
2.4 Exercice 6 :
Ecrire une fonction qui prend en paramètre un entier et qui retourne le nombre de ses chiffres
[ ]: def nbre_chiffre(n):
s=0
while n!=0:
s=s+1
n=n//10
return s
nbre_chiffre(14567)
[ ]: 5
5
3 Variables globales & Variables locales
[5]: # m est déclarée à l'extérieur de la définition de la fonction
# m est dite variable globale
# On peut utiliser la variable m au sein de la fonction
m=5
def fonction(x,y):
return x+y+m
print(fonction(3,4))
print(m)
12
5
def fonction(x,y):
n=5
return x+y+n
print(fonction(3,4))
print(n)
12
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-7-6a8c419ada05> in <module>
7
8 print(fonction(3,4))
----> 9 print(n)
def fonction(x,y):
global n
6
n=5
return x+y+n
print(fonction(3,4))
print(n)
12
5
def fonction(x,y):
global s
s=5
return x+y+s
print(s)
print(fonction(3,4))
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-10-bd9d6c7c1931> in <module>
9 return x+y+s
10
---> 11 print(s)
12 print(fonction(3,4))
print(fct(1,2))
print(a)
80
5
7
[12]: a=5
def fct(x,y):
global a
a=77
return a+x+y
print(fct(1,2))
print(a)
80
77
[13]: a=5
def fct(x,y):
global a
a=77
return a+x+y
print(a)
print(fct(1,2))
5
80
[14]: a=5
def fct(x,y):
global a
a=77
return a+x+y
print(a)
print(fct(1,2))
print(a)
5
80
77