Sujet n°15
Sujet original
Pour télécharger l'énoncé original, cliquer ici.
Exercice n°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 :
t_moy = [14.9, 13.3, 13.1, 12.5, 13.0, 13.6, 13.7]
annees = [2013, 2014, 2015, 2016, 2017, 2018, 2019]
Commentaires
Ici, le mot « liste » est à comprendre dans le sens « liste Python » (c'est-à-dire tableau) plutôt que dans le sens du type abstrait de données liste étudié en Terminale.
É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
>>> mini(t_moy, annees)
(12.5, 2016)
Une solution
Dans cette solution, on ajoute une assertion pour vérifier que les deux tableaux ont la même longueur.
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 |
|
Exercice n°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.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Commentaires sur le code original
-
Pour télécharger l'original du fichier à compléter, cliquer ici.
-
D'une facilité déconcertante et pas vraiment optimal du point de vue algorithmique...
Exemples
>>> inverse_chaine('bac')
'cab'
>>> est_palindrome('NSI')
False
>>> est_palindrome('ISN-NSI')
True
>>> est_nbre_palindrome(214312)
False
>>> est_nbre_palindrome(213312)
True
Une solution
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 28 29 |
|