PYTHON 2. FEUILLE n° 3 BIS ALGO
Cours:
THEME:
Créer un script qui appelle une fonction.
puis créer un script qui appelle cette fonction.
dans un ensemble de n éléments on peut aussi
définir une fonction comb(n,p) qui utilise factorial(n)
puis créer un script qui appelle cette fonction comb(n,p).
• [ randint(entier a , entier b ) for i in range( entier k)]
génère une liste aléatoire de k entiers compris entre a et b.
C'est intéressant pour une simulation.
----------------------------------------------------------------------------------------------
EXERCICE 1
Créer une fonction factorial(n) qui retourne n ! quand on
entre un entier naturel puis créer un script qui appelle
cette fonction et affiche n !
--------------------------------------------------------------------------------------------
REPONSE :
On peut considérer déjà la fonction de variable n suivante
qui transmet la valeur de n! :
( n! s'obtient en reculant n puis ( n − 1 ) puis ... puis 1 )
def factorial(n):
if n==0:
return 1
else:
return n*factorial(n − 1)
On peut ensuite considérer le script suivant:
def fact():
n=input(" Donner l'entier n pour avoir n! ")
print n,"! =",factorial(n)
On obtient par exemple:
>>> fact()
Donner l'entier n pour avoir n! 3
3 ! = 6
L’intérêt de cette fonction factorial(n) est que l’on peut
créer un autre script qui l’utilise.
------------------------------------------------------------------
EXERCICE 2
Créer un script qui quand on rentre n et p deux entiers naturels
avec p < n + 1 donne le nombre de parties de p éléments
d’un ensemble de n éléments c-à-d qui donne
n ! / [ ( n – p ) ! p ! ]
C’est le nombre de combinaisons de p éléments parmi n éléments.
Il est noté en maths.
------------------------------------------------------------------------------
REPONSE :
Déjà il faut remettre dans la fenêtre Window les scripts de l’exercice 1
Puis on peut proposer :
def comb(n,p):
return factorial(n)/((factorial(n-p))*(factorial(p)))
def combinaison():
n=input(" Donner un entier naturel n : n = ")
p=input(" Donner un entier naturel p tel que p < n+1 ; p = ")
print " Le nombre de combinaisons de", p ,"parmi", n," est: ",comb(n,p)
print " Ainsi un ensemble de ", n ,"éléments possède", comb(n,p),"parties"
Par exemple :
>>> combinaison()
Donner un entier naturel n : n = 5
Donner un entier naturel p tel que p < n+1 ; p = 2
Le nombre de combinaisons de 2 parmi 5 est: 10
Ainsi un ensemble de 5 éléments possède 10 parties
>>>
----------------------------------------------------------------------------
EXERCICE 3
Ecrire un script qui génère une liste de 8 bits de façon aléatoire.
---------------------------------------------------------------------------------
REPONSE:
Par exemple on peut considérer:
from random import*
def test():
L=[randint(0,1) for i in range(8)]
print L
Par exemple on obtient:
>>> test()
[1, 0, 0, 1, 1, 1, 0, 1]
>>>
------------------------------------------------------------------
EXERCICE 4
Ecrire un script qui génère de façon aléaroire
une liste simulant six lancers d'un dé.
----------------------------------------------------------------------
REPONSE :
Par exemple on peut considérer:
from random import*
def test():
L=[randint(1,6) for i in range(6)]
print L
Par exemple on obtient:
>>> test()
[6, 2, 5, 4, 3, 3]
>>>
---------------------------------------------------------------------