INFO PYTHON 2.7 TEST BTS1 A 17/12/13

                                    INFO  PYTHON 2.7    TEST      BTS1 A                  17/12/13

    PARTIE A

       Voici un script écrit en Python 2.7

from random import*
def hasard():
       cochage=[12,13,32,17,41,48]
       L=[i for i in range(1,50)]
       Francaisedesjeux=[]
       m=len(Francaisedesjeux)
       for i in range(6):
             a=choice(L)
             Francaisedesjeux.append(a)
             L.remove(a)
       print " Le tirage de la française des jeu est :",Francaisedesjeux
       print "Votre tirage est : ",cochage
       bonsnumero=0
       for i in range(6):
             if cochage[i] in Francaisedesjeux:
                  print cochage[i]," est bon"
                  bonsnumero=bonsnumero+1
        if bonsnumero==0:
             print " Désolé mais tous vos numéros son mauvais, à la prochaine..."
        else:
               print " Vous avez",bonsnumero ,"bon(s) numéro(s)"

        if bonsnumero==6:
              print "Vous êtes l'un des grands gagnants"

              print " Vous avez gagné 13 000 000 €"

                                               QUESTIONS:

             1. Que signifie    Francaisedesjeux=[]   ?

                   REPONSE:

                    Francaisedesjeux   est la liste vide.

             2. Qu'est-ce que m?

                 REPONSE:

                    C'est la longueur de la liste Francaisedesjeux

              3. Quand on écrit :   for i in range(6):

                    Quelles sont les valeurs prise par i

                  REPONSE:

               i prend successivement les valeurs : 0 , 1 , 2 , 3 , 4 ,5

              4. Que signifie  cochage[i] ?

                    REPONSE:

                C'est le terme d'indice i de la liste cochage.

            5. Quand on écrit   L=[i for i in range(1,50)]

                 qu'est-ce que L ?

                REPONSE:

             C'est la liste des entiers de 1 à 49 

           6. Quand on écrit    a=choice(L)

              que  peut être a ?

               REPONSE:

                     a est un entier quelconque de la liste L

          7. Pourquoi a-t-on mis     L.remove(a)      ?

                        REPONSE :

              C'est pour qu'une fois l'entier a choisi dans la liste L au hasard par l'ordinateur

                il ne puisse pas  le rechoisir au hasard de nouveau.

            8.  Que signifie    if cochage[i] in Francaisedesjeux:

                  REPONSE:

                    Cela singifie:

                    Si le terme d'indice i de la liste cochage est dans la liste francaisedesjeux

           9.  Comment écrir la première ligne du programme pour que la liste cochage soit

                soit demandée par  le script ?

                REPONSE:   On peut proposer

               cochage=input("Entrer une liste de 6 entiers distincts entre 1 et 49: ")

             10. Comment se prémunir quand la list cochage est entrée d'un doublon ?

                   REPONSE:

                On peut mettre après la ligne de def hasard():

                   cochage=input("Entrer une liste de 6 entiers distincts entre 1 et 49: ")

                   for i in range(6):

                         for j in range(i+1,6):

                               if cochage[i]==cochage[j]:

                                    print " Les entiers doivent être distincts"

                                    cochage=input("Entrer une liste de 6 entiers distincts entre 1 et 49: ")

  LE SCRIPT DEVIENT :

from random import*
def hasard():
       cochage=input("Entrer une liste de 6 entiers distincts entre 1 et 49: ")     

       for i in range(6):

             for j in range(i+1,6):

                   if cochage[i]==cochage[j]:

                        print " Les entiers doivent être distincts"

                        cochage=input("Entrer une liste de 6 entiers distincts entre 1 et 49: ")

       L=[i for i in range(1,50)] 
       Francaisedesjeux=[]
       m=len(Francaisedesjeux)
       for i in range(6):
             a=choice(L)
             Francaisedesjeux.append(a)
             L.remove(a) 
       print " Le tirage de la française des jeu est :",Francaisedesjeux
       print "Votre tirage est : ",cochage
       bonsnumero=0
       for i in range(6):
             if cochage[i] in Francaisedesjeux:
                   print cochage[i]," est bon"
                   bonsnumero=bonsnumero+1
       if bonsnumero==0:
            print " Désolé mais tous vos numéros son mauvais, à la prochaine..."
       else:
              print " Vous avez",bonsnumero ,"bon(s) numéro(s)"

 

       if bonsnumero==6:
             print "Vous êtes l'un des grands gagnants"

 

             print " Vous avez gagner 13 000 000 €"

            On obtient par exemple:

>>> hasard()
Entrer une liste de 6 entiers distincts entre 1 et 49: [12,44,26,13,17,44]
Les entiers doivent être distincts
Entrer une liste de 6 entiers distincts entre 1 et 49: [1,2,3,4,5,6]
Le tirage de la française des jeu est : [32, 7, 34, 3, 28, 22]
Votre tirage est : [1, 2, 3, 4, 5, 6]
3 est bon
vous avez 1 bon(s) numéro(s)
>>

      11. Qu'affiche le script quand on rentre la liste [12,13,32,17,41,48] ?

       REPONSE:

                          Par exemple:

>>> hasard()
Entrer une liste de 6 entiers distincts entre 1 et 49: [12,13,32,17,41,48]
Le tirage de la française des jeu est : [23, 31, 2, 35, 15, 42]
Votre tirage est : [12, 13, 32, 17, 41, 48]
Désolé mais tous vos numéros son mauvais, à la prochaine...
>>>

                Pour une autre liste par exemple 

>>> hasard()
Entrer une liste de 6 entiers distincts entre 1 et 49: [43,35,27,13,12,8]
Le tirage de la française des jeu est : [28, 13, 12, 26, 41, 6]
Votre tirage est : [43, 35, 27, 13, 12, 8]
13 est bon
12 est bon
Vous avez 2 bon(s) numéro(s)
>>>

                 Par exemple pour une autre liste: 

>>> hasard()
Entrer une liste de 6 entiers distincts entre 1 et 49: [12,45,25,27,13,1]
Le tirage de la française des jeu est : [34, 7, 17, 24, 9, 27]
Votre tirage est : [12, 45, 25, 27, 13, 1]
27 est bon
vous avez 1 bon(s) numéro(s)
>>>

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

     PARTIE B

             Modifier le programme précédent pour  que l'ordinateur se batte contre lui-même

            c-à-d de façon que l'ordinateur génère aussi au hasard la liste cochage.

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

            REPONSE:   

                           On peut considérer: 

 

from random import*
def hasard():
       L=[i for i in range(1,50)]
       cochage=[choice(L) for i in range(6)]
       for i in range(6):
             for j in range(i+1,6):
                   if cochage[i]==cochage[j]:
                         cochage=[choice(L) for i in range(6)]
       Francaisedesjeux=[]
       m=len(Francaisedesjeux)
       for i in range(6):
             a=choice(L)
             Francaisedesjeux.append(a)
             L.remove(a)
      print " Le tirage de la française des jeu est :",Francaisedesjeux
      print "Votre tirage est : ",cochage
      bonsnumero=0
      for i in range(6):
            if cochage[i] in Francaisedesjeux:
                  print cochage[i]," est bon"
                  bonsnumero=bonsnumero+1
      if bonsnumero==0:
           print " Désolé,mais tous vos numéros son mauvais, à la prochaine..."
      else:
             print " vous avez",bonsnumero ,"bon(s) numéro(s)"
      if bonsnumero==6:
            print "Vous êtes l'un des grands gagnants"
            print " Vous avez gagné 3 000 000 €"

                                        Par exemple :

>>> hasard()
Le tirage de la française des jeu est : [9, 6, 36, 25, 24, 26]
Votre tirage est : [19, 8, 21, 32, 45, 9]
9 est bon
vous avez 1 bon(s) numéro(s)
>>>