Aller au contenu

Ep 15

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

EXERCICE 1⚓

On a relevĂ© les valeurs moyennes annuelles des tempĂ©ratures Ă  Paris pour la pĂ©riode allant de 2013 Ă  2019. Les rĂ©sultats ont Ă©tĂ© rĂ©cupĂ©rĂ©s sous la forme de deux listes : l’une pour les tempĂ©ratures, l’autre pour les annĂ©es :

🐍 Script Python
    t_moy = [14.9, 13.3, 13.1, 12.5, 13.0, 13.6, 13.7]
    annees = [2013, 2014, 2015, 2016, 2017, 2018, 2019]

Écrire la fonction mini qui prend en paramĂštres un tableau releve des relevĂ©s et un tableau date des dates et qui renvoie la plus petite valeur relevĂ©e au cours de la pĂ©riode et l’annĂ©e correspondante. On suppose que la tempĂ©rature minimale est atteinte une seule fois.

Exemple :

🐍 Script Python
    >>> mini(t_moy, annees)
    (12.5, 2016)

RĂ©ponse

Complétez le code ci-dessous

###
# Mettre votre code icibksl-nlbksl-nl



Solution

###
tpy-undmoy = [14.9, 13.3, 13.1, 12.5, 13.0, 13.6, 13.7]bksl-nlannees = [2013, 2014, 2015, 2016, 2017, 2018, 2019]bksl-nlbksl-nldef mini(releve, date):bksl-nl temppy-undmini = releve[0]bksl-nl datepy-undmini = date[0]bksl-nl for i in range(len(releve)):bksl-nl if releve[i] < temppy-undmini:bksl-nl temppy-undmini = releve[i]bksl-nl datepy-undmini = date[i]bksl-nl return temppy-undmini, datepy-undminibksl-nlbksl-nl



EXERCICE 2⚓

Un mot palindrome peut se lire de la mĂȘme façon de gauche Ă  droite ou de droite Ă  gauche : bob, radar, et non sont des mots palindromes.

De mĂȘme certains nombres sont eux aussi des palindromes : 33, 121, 345543.

L’objectif de cet exercice est d’obtenir un programme Python permettant de tester si un nombre est un nombre palindrome.

Pour remplir cette tĂąche, on vous demande de complĂ©ter le code des trois fonctions ci- dessous sachant que la fonction est_nbre_palindrome s’appuiera sur la fonction est_palindrome qui elle-mĂȘme s’appuiera sur la fonction inverse_chaine.

La fonction inverse_chaine inverse l'ordre des caractÚres d'une chaßne de caractÚres chaine et renvoie la chaßne inversée.

La fonction est_palindrome teste si une chaine de caractĂšres chaine est un palindrome. Elle renvoie True si c’est le cas et False sinon. Cette fonction s’appuie sur la fonction prĂ©cĂ©dente.

La fonction est_nbre_palindrome teste si un nombre nbre est un palindrome. Elle renvoie True si c’est le cas et False sinon. Cette fonction s’appuie sur la fonction prĂ©cĂ©dente.

Compléter le code des trois fonctions ci-dessous.

RĂ©ponse

Complétez le code ci-dessous

###
def inversepy-undchaine(chaine):bksl-nl result = ...bksl-nl for caractere in chaine:bksl-nl result = ...bksl-nl return resultbksl-nlbksl-nldef estpy-undpalindrome(chaine):bksl-nl inverse = inversepy-undchaine(chaine)bksl-nl return ...bksl-nlbksl-nldef estpy-undnbrepy-undpalindrome(nbre):bksl-nl chaine = ...bksl-nl return estpy-undpalindrome(chaine)bksl-nlbksl-nl



Solution

###
def inversepy-undchaine(chaine):bksl-nl result = ''bksl-nl for caractere in chaine:bksl-nl result = caractere + resultbksl-nl return resultbksl-nlbksl-nldef estpy-undpalindrome(chaine):bksl-nl inverse = inversepy-undchaine(chaine)bksl-nl return chaine == inversebksl-nlbksl-nldef estpy-undnbrepy-undpalindrome(nbre):bksl-nl chaine = str(nbre)bksl-nl return estpy-undpalindrome(chaine)bksl-nlbksl-nl



Exemple :

🐍 Script Python
    >>> inverse_chaine('bac')
    'cab'
    >>> est_palindrome('NSI')
    False
    >>> est_palindrome('ISN-NSI')
    True
    >>> est_nbre_palindrome(214312)
    False
    >>> est_nbre_palindrome(213312)
    True