👤

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 ;)

Bonne journée !

View image CLEMENTCG
View image CLEMENTCG
View image CLEMENTCG

© 2024 IDNLearn. All rights reserved.