Aller au contenu

Ep 01

▶ TĂ©lĂ©charger le sujet en pdf.

EXERCICE 1⚓

Programmer la fonction verifie qui prend en paramĂštre un tableau de valeurs numĂ©riques non vide et qui renvoie True si ce tableau est triĂ© dans l’ordre croissant, False sinon.

Exemples :

🐍 Script Python
    Exemples :
    >>> verifie([0, 5, 8, 8, 9])
    True
    >>> verifie([8, 12, 4])
    False
    >>> verifie([-1, 4])
    True
    >>> verifie([5])
    True

RĂ©ponse

Complétez le code ci-dessous

###
# Mettez votre code icibksl-nlbksl-nl



Solution

###
def verifie(tab):bksl-nl for i in range(1, len(tab)):bksl-nl if tab[i] < tab[i-1]:bksl-nl return Falsebksl-nl return Truebksl-nlbksl-nl



EXERCICE 2⚓

Les résultats d'un vote ayant trois issues possibles 'A', 'B' et 'C' sont stockés dans un tableau.

Exemple :

🐍 Script Python
    urne = ['A', 'A', 'A', 'B', 'C', 'B', 'C', 'B', 'C', 'B']

La fonction depouille doit permettre de compter le nombre de votes exprimés pour chaque artiste. Elle prend en paramÚtre un tableau et renvoie le résultat dans un dictionnaire dont les clés sont les noms des artistes et les valeurs le nombre de votes en leur faveur.

La fonction vainqueur doit dĂ©signer le nom du ou des gagnants. Elle prend en paramĂštre un dictionnaire dont la structure est celle du dictionnaire renvoyĂ© par la fonction depouille et renvoie un tableau. Ce tableau peut donc contenir plusieurs Ă©lĂ©ments s’il y a des artistes ex- aequo. ComplĂ©ter les fonctions depouille et vainqueur ci-aprĂšs pour qu’elles renvoient les rĂ©sultats attendus.

🐍 Script Python
    >>> election = depouille(urne)
    >>> election
    {'A': 3, 'B': 4, 'C': 3}
    >>> vainqueur(election)
    ['B']
RĂ©ponse

Complétez le code ci-dessous

###
urne = ['A', 'A', 'A','B', 'C', 'B', 'C','B', 'C', 'B']bksl-nlbksl-nldef depouille(urne):bksl-nl resultat = ...bksl-nl for bulletin in urne:bksl-nl if ...:bksl-nl resultat[bulletin] = resultat[bulletin] + 1bksl-nl else:bksl-nl ...bksl-nl return resultatbksl-nlbksl-nldef vainqueur(election):bksl-nl vainqueur = ''bksl-nl nmax = 0bksl-nl for candidat in election:bksl-nl if ... > ... :bksl-nl nmax = ...bksl-nl vainqueur = candidatbksl-nl listepy-undfinale = [nom for nom in election if election[nom] == ...]bksl-nl return ...bksl-nlbksl-nlelection = depouille(urne)bksl-nlvainqueur(election)bksl-nlbksl-nl



Solution

###
urne = ['A', 'A', 'A', 'B', 'C', 'B', 'C', 'B', 'C', 'B']bksl-nlbksl-nldef depouille(urne):bksl-nl resultat = {}bksl-nl for bulletin in urne:bksl-nl if bulletin in resultat:bksl-nl resultat[bulletin] = resultat[bulletin] + 1bksl-nl else:bksl-nl resultat[bulletin] = 1bksl-nl return resultatbksl-nlbksl-nldef vainqueur(election):bksl-nl vainqueur = '' #bksl-nl nmax = 0bksl-nl for candidat in election:bksl-nl if election[candidat] > nmax :bksl-nl nmax = election[candidat]bksl-nl vainqueur = candidat #bksl-nl listepy-undfinale = [nom for nom in election if election[nom] == nmax]bksl-nl return listepy-undfinalebksl-nlbksl-nlelection = depouille(urne)bksl-nlvainqueur(election)bksl-nlbksl-nl