Aller au contenu

Index des sujets 2023

Corrigé sujet 32 - Année : 2023

Sujet 32 - 2023

Exercice 1

1
2
3
4
5
6
def min_et_max(tab):
    mini,maxi = tab[0],tab[0]
    for elt in tab:
        if elt<mini: mini=elt
        if elt>maxi: maxi=elt
    return {'min' : mini, 'max' : maxi}

Commentaires

Encore une recherche classique de minimum et de maximum, le résultat est renvoyé sous la forme d'un dictionnaire.

Exercice 2

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Carte:
    def __init__(self, c, v):
        """ Initialise les attributs couleur (entre 1 et 4), et valeur (entre 1 et 13). """
        self.couleur = c
        self.valeur = v

    def get_valeur(self):
        """ Renvoie la valeur de la carte : As, 2, ..., 10, Valet, Dame, Roi """
        valeurs = ['As','2', '3', '4', '5', '6', '7', '8', '9', '10', 'Valet', 'Dame', 'Roi']
        return valeurs[self.valeur - 1]

    def get_couleur(self):
        """ Renvoie la couleur de la carte (parmi pique, coeur, carreau, trèfle). """
        couleurs = ['pique', 'coeur', 'carreau', 'trèfle']
        return couleurs[self.couleur - 1]

class Paquet_de_cartes:
    def __init__(self):
        """ Initialise l'attribut contenu avec une liste des 52 objets Carte possibles
            rangés par valeurs croissantes en commençant par pique, puis coeur,
            carreau et tréfle. """
        self.contenu = [Carte(couleur,valeur) for couleur in range(1,5) for valeur in range(1,14) ] #(1)

    def get_carte(self, pos):
        """ Renvoie la carte qui se trouve à la position pos (entier compris entre 0 et 51). """
        assert 0 <= pos <= 51, "Paramètre pos non valide" #(2)
        return self.contenu[pos] #(3)
  1. On utilise une définition de liste par compréhension pour parcourir les couleurs et valeurs possibles. Attention les numéros de couleurs vont de 1 à 4 (inclus) (donc range(1,5)) et les valeurs de 1 à 13 inclus (donc range(1,14))
  2. C'est l'instruction assert demandée : on vérifie que le paramètre pos est correct.
  3. Un jeu de cartes contient 52 cartes, la position d'une carte est entre 0 et 51 inclus.

Remarque

  • Il serait pertinent d'utiliser un dictionnaire afin d'associer valeur et nom de d'une carte : {1 : 'As', 2:'2', ...., 12: 'Dame',13 : 'Roi'}