PYTHON .2 FEUILLE n° 3 BIS

                                   PYTHON 2.  FEUILLE n° 3  BIS               ALGO

                   Cours:

                                   THEME:

                                           Créer un script qui appelle une fonction.

  •  Pour obtenir  n!  on peut définir une fonction factorial(n)

                 puis créer un script qui appelle cette fonction.

  • Pour obtenir le nombre de parties de p éléments

                        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.  

                          nombredecombinaisons.png

------------------------------------------------------------------------------

               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]​
>>>

---------------------------------------------------------------------