Sagot :
Bonjour
C'est un devoir qui, en réalité, peut être fait en très peu de lignes.
On cherche la deuxième plus grand valeur, donc une méthode assez simple serait de:
- Trier la liste par ordre croissant
- Choisir le second plus grand nombre
Pour trier une liste il y a une méthode existante de base sur Python :
▌ sorted( liste, key= , reverse= )
C'est une méthode qui accepte trois types de paramètres:
- une liste,
- key, un paramètre très complet et utile dans certains cas mais surtout casse-tête, on ne va pas s'en servir dans notre exercice,
- reverse, qui permet de classer dans un sens ou dans l'autre, dans notre cas : croissant ou décroissant,
Quand on aura trier notre liste il suffira de choisir le second élément, donc
▌ liste[1]
1 et pas 2 car en Python on commence à compter à partir de zéro.
Réponse
Ci-joint le code au propre et avec les couleurs et tabulations pour le rendre plus lisible et une version commentée.
On va définir une fonction qui admet 1 paramètre (l pour liste, mais on peut mettre ce qu'on veut)
▌ def Trouver2ePlusGrand(l):
On va ranger notre liste dans l'ordre décroissant (donc reverse=True)
▌ l = sorted( l, reverse=True )
Et au final il suffit de renvoyer le second élément de la liste
▌ return l[1]
Pour appeller la fonction il faudra donc faire
▌ Trouver2ePlusGrand(liste)
Ou même directement mettre la liste en argument
▌ Trouver2ePlusGrand([0,11,45,24,26,12,8,2])
Pour avoir le rendu en console il faut mettre la fonction dans un print
▌ print( Trouver2ePlusGrand(liste) )
J'espère que ces explications t'aurons aidé, si tu as mal compris quelque chose tu peux me le demander dans les commentaires ;)