- Trouver le minimum d'une liste python sans min
- Liste déroulante excel - Guide
- Trouver adresse mac - Guide
- Trouver un film sans le titre - Télécharger - Divers TV & Vidéo
- Comment trouver le mot de passe wifi sur son téléphone - Guide
- Liste déroulante en cascade - Guide
6 réponses
Modifié le 1 déc. 2022 à 16:06
Bonjour,
Tu y es presque. Le seul soucis c'est qu'actuellement tu retournes quoi qu'il arrive None.
- l2: cette ligne plantera si la liste est vide car liste[0] ne sera pas défini. Tu dois donc au préalable tester que la liste comporte au moins un élément (par exemple if len(liste) >0 : ...,ou de manière plus concise, avec le test if liste: ...).
- Tu devrais renommer ta variable max en valeur_min.
- Je te déconseille de nommer des variables min ou max car c'est le noms de deux primitives python, et même si le langage le tolère, c'est une mauvaise idée en général (car ce faisant la fonction python n'est plus visible, le symbole min ou max désigne désormais ta variable).
- Si la liste est vide, tu peux directement retourner directement None.
- l4: Si la liste est vide, i.e. que tu n'entres pas dans la boucle for, index_min doit valoir None. Il faut donc revoir la manière dont tu l'initialises. Vu que ligne 2, tu vas devoir tester si la liste est vide, tu peux directement retourner None dans ce test.
- l2-l6-l7: Tu compares liste[i] à minimum. Or minimum est le nom de ta fonction, donc tu compares deux choses incomparables. Je suspecte vu comment tu as démarré ton code que tu aurais plutôt voulu faire la comparaison avec valeur_min.
- l3-l5: tu peux supprimer la ligne 3 si tu remplaces la ligne 5 par for i in range(len(liste)):. Le code restera tout aussi lisible et ça n'affecte pas ses performances.
- l9: si la liste est non vide ta fonction doit retourner valeur_min.
Peux-tu proposer un code corrigé qui tient compte de ces recommandations ?
Bonne chance
À quoi te sert valeur_min?
Et quand vérifies-tu si la liste est vide?
mininum est le nom de la fonction et tu décides que c'est une variable ...
Modifié le 2 déc. 2022 à 12:00
Bonjour,
A quoi servent les variables indice_max et liste_min ?
Et valeur_min ne devrait pas être liste[0]
Il faut définir valeur_min comme un grand nombre (99999 par exemple)
ensuite, boucler sur les éléments de la liste:
si liste[i] < valeur_min : valeur_min = liste[i]
et après etre sorti de la boucle : return(valeur_min)
Ça se fait en 5 lignes de code
2 déc. 2022 à 15:03
Utiliser un des éléments de la liste comme minimum de départ est parfaitement valable. Ceux qui préfèrent un grand nombre peuvent utiliser float('inf').
2 déc. 2022 à 16:07
oui, après tout ..
valeur_mini = liste[0]
pour chaque element de liste:
si element < valeur_mini: valeur_mini = element
retourner valeur_mini
2 déc. 2022 à 16:16
Sous réserve que la liste soit non vide !
Modifié le 2 déc. 2022 à 16:23
bien évidemment ...
je montrais juste à Leblanc41 que la mécanique est toute simple
en lisant son code d'hier à 18h18, on voit que ce n'est pas clair pour lui
Pourquoi ne pas donner le premier de la liste comme minimum et parcourir à partir du second au lieu de donner un grand nombre comme premier minimum?
Je suppose qu'on a déjà testé si la liste n'est pas vide.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question2 déc. 2022 à 17:30
oui, c'est ce que je disais dans ma réponse de de16h07
valeur_mini = liste[0]
je ne parcoure pas à partir de liste[1], mais ça ne change pas grand-chose ...
Modifié le 5 déc. 2022 à 10:05
Votre code a soulevé une exception inattendue
Votre score est
50
/100.1 déc. 2022 à 19:09
As-tu lu la réponse donnée le 1 déc. 2022 à 14:27?
1 déc. 2022 à 19:17
Je vois seulement celle de 14:42
1 déc. 2022 à 19:25
Lis celle-ci également.