PYTHON.2 INFO FEUILLE n° 19 D'EXERCICES

                                 FEUILLE D'EXERCICES   BTS1    n°  19             BTS1     

           Thème:

                       •        Test pour savoir si l'on a un terme d'une liste A.

                                 if ....  in A:

                                     print "OUI"

                                  else:

                                      print "NON"

                    • Création d'une matrice aléatoire d'entiers naturels entre 1 et 10.

                                   randint(1,10)   pour la création d'un entier entre 1 et 10

                     • Utilisation de + pour ajouter un terme à la fin d'une liste.

                     • Utilisation de     .append(   )     pour ajouter un terme à la fin d'une liste.

                     • Utilisation pour obtenir l'affichage verticalement des lignes d'une matrice A de:                           

                                     for line in A:

                                           print line

     

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

            EXERCICE 1

              Donner un script qui connaissant une liste A demande la saisie d'un entier n

              puis indique par OUI ou par NON si cet entier est un terme de A.    

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

    REPONSE :

    On peut proposer:

def essai():
       A=[1,2,3,4,5,6]
       n=int(input("Quel entier proposez-vous ?  "))
       if n in A:
            print "OUI"
       else:
              print "NON"

 

       On obtient par exemple:

>>> essai()

Quel entier proposez-vous ? 3

OUI

>>>

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

    EXERCICE 2           

              Ecrire un script qui demande de deviner l’un des termes

 

             d’une matrice fixée A  de type ( 2 ;2 ) d’entiers  compris entre 1 et 10

 

             et qui dit si c’est bon ou non en affichant finalement A.

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

REPONSE :

 

                   On peut considérer : 

from random import*

def jeu():

       print "A est une matrice de type (2 ; 2 ) d'entiers entre 1 et 10"

       A=[[1,5],[3,6]]   

       n=input("Quel entier est dans A? : n =  ")

       if n in A[0] or n in A[1]:    

          print "OUI. Bravo"     

       else:

            print "NON. Pas de chance!" 

      print " La matrice A est: " 

       for line in A:

             print line 

 

   On obtient par exemple: 

>>> jeu() 

A est une matrice de type (2 ; 2 ) d'entiers entre 1 et 10

Quel entier est dans A? : n =  6

OUI. Bravo

 La matrice A est: 

[1, 5]

[3, 6] 

>>> 

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

   EXERCICE 3

         Donner un script qui crée de façon aléatoire une matrice A

         de type ( 2 ; 3) d’entiers naturels compris entre 1 et 10 .

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

REPONSE :

            On peut considérer:

from random import*

def devin():

       L=[]

       M=[]

       for i in range(3):

             a=randint(1,10)

             L.append(a)

       for j in range(3):

             b=randint(1,10)

             M.append(b)   

       A=[L,M]

      print A

 

    On obtient par exemple :

>>> devin()

[[3, 2, 1], [6, 10, 4]]

>>>

 

On peut vouloir avoir les lignes de A disposées verticalement.

Pour cela on met:

 

from random import*

def devin():

       L=[]

       M=[]

       for i in range(3):                                    

             a=randint(1,10)

             L.append(a)

       for j in range(3):

             b=randint(1,10)

             M.append(b)   

       A=[L,M]

      for line in A:

             print line

 

On obtient par exemple  la matrice aléatoire d’entiers

verticalement 

 

>>> devin()

[5, 10, 9]

[8, 3, 7]

>>>

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

     EXERCICE 4

        Donner un script qui crée de façon aléatoire une matrice A

       de type ( 2 ; 3) d’entiers naturels compris entre 1 et 10 puis

     propose de faire deviner l’un de ses termes en disant si c’est bon ou non et

    donne finalement la matrice A.  

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

REPONSE :

               On peut considérer:

from random import*

def devin():

    L=[]

    M=[]

    for i in range(3):

        a=randint(1,10)

        L.append(a)

    for j in range(3):

        b=randint(1,10)

        M.append(b)   

    A=[L,M]

   print  " A est une matrice de type (2;3) d’entiers compris entre 1 et 10 " 

    n = input("Quel entier est dans A ? n =    "  ) 

   if n in A[0] or n in A[1] :

       print "OUI.  Bravo. "

   else:

          print "NON.  Pas de chance."

   print " La matrice A est: "

   for line in A:

         print line

 

          On obtient par exemple :

>>> devin()

A est une matrice de type (2;3) d’entiers compris entre 1 et 10

Quel entier est dans A ? n= 6

OUI.  Bravo.

   La matrice A est :

[5, 2, 6]

[9, 10, 8]

>>> 

                Par exemple également

>>> devin()

A est une matrice de type (2;3) d’entiers compris entre 1 et 10

Quel entier est dans A ? n= 0

NON.  Pas de chance.

   La matrice A est :

[5, 2, 6]

[9, 10, 8]

>>> 

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

      EXERCICE 5          

        Créer une liste contenant tous les entiers de 1 à 20.

         Elle représentera un paquet de 20 cartes numérotées de 1 à 20.

~~~~~~~~~~~~~~~~~~~~~

REPONSE :

      On peut considerer le script suivant:

 

from random import*              <----  ce module est nécessaire à cause du range

def creation():

       ens=[]                                        <----  ens est d’abord une liste vide

       for i  in range(1,21):               <------     l’entier  i varie de 1 à  21-1

             ens=ens+[i]                        <-----     +  ajoute i comme terme à la fin de la liste ens

       print ens

 

          Cela donne :

>>> creation()

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

>>> 

 

         On peut donc utiliser + pour ajouter un terme à une liste

         On peut imaginer que l’on a créé un paquet de 20 cartes numérotées de 1 à 20

     En déplaçant le p de print à la verticale du  e  de ens=ens+[i]

     On voit la construction se faire progressivement.

from random import*

def creation():

       ens=[]

       for i  in range(1,21):

             ens=ens+[i]

             print ens

 

            Cela  donne :

>>> creation()

[1]

[1, 2]

[1, 2, 3]

[1, 2, 3, 4]

[1, 2, 3, 4, 5]

[1, 2, 3, 4, 5, 6]

[1, 2, 3, 4, 5, 6, 7]

[1, 2, 3, 4, 5, 6, 7, 8]

[1, 2, 3, 4, 5, 6, 7, 8, 9]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

>>> 

 

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

    EXERCICE 6      

        Même question en utilisant      .append(   )

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

REPONSE :

             On peut considérer:

from random import*

def creation():

       ens=[]

       for i in range(1,21):

             ens.append(i)

             print ens

 

     On obtient exactement la même chose :

>>> creation()

[1]

[1, 2]

[1, 2, 3]

[1, 2, 3, 4]

[1, 2, 3, 4, 5]

[1, 2, 3, 4, 5, 6]

[1, 2, 3, 4, 5, 6, 7]

[1, 2, 3, 4, 5, 6, 7, 8]

[1, 2, 3, 4, 5, 6, 7, 8, 9]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

>>> 

  Pour n'avoir que la dernière ligne délacer le print  à la verticale de for . 

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

   EXERCICE 7

           Ecrire un script qui d'abord affîche la liste des entiers de 1 à 20

          puis qui mélange 30 fois les cartes par 2 de façon aléatoire.

          Cela revient à avoir un paquet de 20 cartes numérotéesde 1 à 20 et de battre le jeu 

          en échangeant 30 fois le carte par deux.

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

    REPONSE:

             On peut considérer:

from random import*

def melange():

       jeu=[]                                        <---  création d'une liste vide

       for i in range(1,21):                  < --  l'entier i varie de 1 à 21

             jeu=jeu+[i]                           

       print jeu                                     <-----   la liste jeu contient les entiers ordonnés de 1 à 21                  

       for k in range( 30):                              les indices des termes de la liste jeu varient de 0 à 19

             i= randint(0,19)                  <------   fournit un indice quelconque 

             j=randint(0,19)                    <------   fournit un indice quelconque 

             m=jeu[i]                                 <---   sauvegarde temporaire du terme d'indice i

             jeu[i]=jeu[j]                          

             jeu[j]=m                                  On a permuté les termes d'indices i et j

       print jeu   

 

                 On obtient par exemple:

>>> melange()
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
[7, 18, 13, 6, 5, 15, 10, 19, 9, 17, 16, 2, 14, 11, 1, 4, 3, 20, 8, 12]
>>>       

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

          

 

 

 

 

 

 

: