Ep 35
le document
l'algorithme
Issue de : 23-NSI-15
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âun pour les tempĂ©ratures,
- lâautre pour les annĂ©es :
đ Texte```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 annee_temperature_minimale
qui prend en paramĂštres ces deux tableaux 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>>> annee_temperature_minimale(t_moy, annees)
(12.5, 2016)
RĂ©ponse
Complétez le code ci-dessous
# Mettre votre code icibksl-nlbksl-nl
Solution
def anneepy-undtemperaturepy-undminimale(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-nltry:bksl-nl tpy-undmoy = [14.9, 13.3, 13.1, 12.5, 13.0, 13.6, 13.7]bksl-nl annees = [2013, 2014, 2015, 2016, 2017, 2018, 2019]bksl-nl assert anneepy-undtemperaturepy-undminimale(tpy-undmoy, annees) == (12.5, 2016)bksl-nl print('Tout semble correct đ')bksl-nlbksl-nlexcept AssertionError as asser:bksl-nl print('Le rĂ©sultat de votre fonction n\'est pas conforme đ€')bksl-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.
đ Script Python |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 | def inverse_chaine(chaine):
'''Retourne la chaine inversée'''
resultat = ...
for caractere in chaine:
resultat = ...
return resultat
def est_palindrome(chaine):
'''Renvoie un booléen indiquant si la chaine ch
est un palindrome'''
inverse = inverse_chaine(chaine)
return ...
def est_nbre_palindrome(nbre):
'''Renvoie un booléen indiquant si le nombre nbre
est un palindrome'''
chaine = ...
return est_palindrome(chaine)
|
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
RĂ©ponse
Complétez le code ci-dessous
def inversepy-undchaine(chaine):bksl-nl '''Retourne la chaine inversée'''bksl-nl resultat = ... bksl-nl for caractere in chaine:bksl-nl resultat = ... bksl-nl return resultatbksl-nlbksl-nldef estpy-undpalindrome(chaine):bksl-nl '''Renvoie un booléen indiquant si la chaine chbksl-nl est un palindrome'''bksl-nl inverse = inversepy-undchaine(chaine)bksl-nl return ... bksl-nlbksl-nldef estpy-undnbrepy-undpalindrome(nbre):bksl-nl '''Renvoie un booléen indiquant si le nombre nbre bksl-nl est un palindrome'''bksl-nl chaine = ... bksl-nl return estpy-undpalindrome(chaine)bksl-nl
Solution
def inversepy-undchaine(chaine):bksl-nl '''Retourne la chaine inversĂ©e'''bksl-nl resultat = ""bksl-nl for caractere in chaine:bksl-nl resultat = caractere + resultatbksl-nl return resultatbksl-nlbksl-nldef estpy-undpalindrome(chaine):bksl-nl '''Renvoie un boolĂ©en indiquant si la chaine chbksl-nl est un palindrome'''bksl-nl inverse = inversepy-undchaine(chaine)bksl-nl return chaine == inverse bksl-nlbksl-nldef estpy-undnbrepy-undpalindrome(nbre):bksl-nl '''Renvoie un boolĂ©en indiquant si le nombre nbre bksl-nl est un palindrome'''bksl-nl chaine = str(nbre) bksl-nl return estpy-undpalindrome(chaine)bksl-nltry:bksl-nl assert inversepy-undchaine('bac') == 'cab'bksl-nl assert estpy-undpalindrome('NSI') == Falsebksl-nl assert estpy-undpalindrome('ISN-NSI') == Truebksl-nl assert estpy-undnbrepy-undpalindrome(214312) == Falsebksl-nl assert estpy-undnbrepy-undpalindrome(213312) == Truebksl-nl print('Tout semble correct đ')bksl-nlbksl-nlexcept AssertionError as asser:bksl-nl print('Le rĂ©sultat de votre fonction n\'est pas conforme đ€')bksl-nl