[Resolu]Petit exercice Python "simple"

Saloute

Je suis actuellement en phase d’apprentissage de Python, et je suis sensé faire des exos, le truc c’est que ça m’a pris du temps pour plus d’un, mais j’y arrivais (et c’était souvent simple…)

Là par contre je ne vois vraiment pas comment résoudre celui-là, j’ai l’impression de ne pas avoir vu ça encore, et je ne vois concrètement pas par quel calcul je pourrais y arriver: je suis bloqué, mais j’aimerais le réussir, cependant je sais que le meilleur moyen n’est pas de demander la solution sur un forum, mais là, je ne vois vraiment pas quoi…

Donc si vous voudriez bien m’aider, ça serait cool! :wink:

En fait ça à l’air simple (je pense même que ça l’est!)

Je dois faire un programme recherchant le plus grand élément d’une liste qui est:

Et que ça affiche: le plus grand élément de cette liste a la valeur 75.

Et honnetement je ne me souviens pas avoir vu une fonction ou quelque chose me permettant de faire ça, même en passant par des calculs je vois pas…

Si vous avez une petite idée, ou a la limite jute me mettre sur le chemin sans me donner la solution ça serait cool!

Merci bien

Quelle honte :arrow_right: :arrow_right: :laughing:

Tu sais comparer deux nombres ? Si oui, pense à ce qu’est le maximum d’un ensemble de nombres ! :smiley:

Imagine toi avec une étagère dans ta chambre, tu dois chercher le plus gros bouquin qui s’y trouve, comment tu fais?

Et oui c’est assez simple mais ça ne se résume pas en une fonction standard à appliquer. :wink: :wink:

Edit : Alex je ne pense pas qu’il utilise de conteneur ensemble, juste un tableau il semble.

En les comparant tous ?

Si je vous suis bien, je devrais utiliser les >, <, ==, etc… ? Afin de les comparer tous et faire ressortir le plus gros ?

Je ne suis pas sûr de comprendre, en fait je viens de commencer, et d’apprendre le type string :smiley:

Merci de vos réponses (et rapides en plus) en tout cas

Ah j’ai peut-être trouvé, mais rien de sûr, je vais y travailler au boulot par contre, je dois partir, merci bien, je vous en dirais plus se soir :slightly_smiling:

On t’a déjà donné la solution c’est effectivement une comparaison qu’il faut effectué maintenant faut voir comment la mettre en place il faut comparer chaque nombre avec les autres qui se trouvent dans un tableau. Avec une boucle tu devrais avoir assez d’indice pour comprendre le raisonnement et nous pondre le code nécessaire :wink:

Je sais pas si c’est propre, où si y’a plus simple en étant plus compacte, mais voilà ce que j’ai fais:

[quote]#!/usr/bin/python

-- coding: Utf-8 --

ch = [32, 5, 12, 8, 3, 75, 2, 15]
if ch[0]<ch[1]:
del(ch[0])
elif ch[0]>ch[1]:
del(ch[1])
if ch[0]<ch[1]:
del(ch[0])
elif ch[0]>ch[1]:
del(ch[1])
if ch[0]<ch[1]:
del(ch[0])
elif ch[0]>ch[1]:
del(ch[1])
if ch[0]<ch[1]:
del(ch[0])
elif ch[0]>ch[1]:
del(ch[1])
if ch[0]<ch[1]:
del(ch[0])
elif ch[0]>ch[1]:
del(ch[1])
if ch[0]<ch[1]:
del(ch[0])
elif ch[0]>ch[1]:
del(ch[1])
if ch[0]<ch[1]:
del(ch[0])
elif ch[0]>ch[1]:
del(ch[1])
print ch[0][/quote]

Et ça marche :laughing:

C’est de cette façon dont vous pensiez ?

Edit: avec l’indentation quoi…

Oh! Mon dieu!

Tu n’a pas vu la boucle for ?

De plus si tu supprime toutes les autres variables tu peut plus les utiliser.

Ça me démange de donner le bout de code…

La solution est plus simple.

Donne pas la solution Yoko, l’auteur du tutoriel fournit les solutions. Il pourra toujours regarder s’il ne trouve pas.

juste en passant, un while ou un repeat (enfin ce qui existe en Python ; je ne sais pas) ça serait pas plus intéressant si la taille du tableau est inconnue ??

Non je n’ai pas vu for :confused:

Je vais voir si je peux faire quelque chose avec while…

Je m’en doutais que ça n’allait pas :blush:

On peut tout faire avec du while

@Alex : Non en python for n’est pas comme en C où, quand on utilise des tableaux ou des NTCTS, on est obligé de connaitre la taille.

Le principale est que tu es cherché et proposé quelque chose c’est comme ça qu’on apprend. Après je ne connais pas le python donc peux pas trop t’aider sur le code mais au niveau algo ça doit etre faisable je te laisse quand meme proposé autre chose avant et si ce n’est pas moi qui te file une solution je ne doute pas que les autres t’en proposeront de très bonne :wink:

Merci pour votre aide!

J’ai trouvé comment utiliser while:

[code]#!/usr/bin/python

-- coding: Utf-8 --

ch = [32, 5, 12, 8, 3, 75, 2, 15]
while len(ch) >= 2:
if ch[0]<ch[1]:
del(ch[0])
elif ch[0]>ch[1]:
del(ch[1])
print ch[0][/code]

Je ne sais pas si c’est l’ultime solution, mais ça à l’air adaptable, même avec le rajout d’éléments dans la chaine.

Vous en pensez quoi ? C’est toujours plus compacte que le 1er :smiley:

Merci

Félicitation c’est pas mal, je te dirais juste que c’est dommage de supprimer ta chaine pour si peu :wink:

Ah, et qu’aurais tu fais ? Car peut-être que je n’ai vu que cette solution pour le moment ?

Enfin vu que ce n’est pas faux je pense que je vais passer à l’éxo suivant :stuck_out_tongue:

Merci à tous :wink:

Au lieu de supprimer ta chaînes, tu réaffecte une variable avec la nouvelle valeur si elle est plus grande que l’ancienne et tu inclus tout ça dans un boucle. Un truc dans le genre (je fait ça de tète et c’est de l’algo)

variable = null;
tant que le tableau n'est pas finis d'être lu{
    if (variable < tableau indice i){
        variable = tableau indice i;
    }
    incrémentation de l'indice i;
}/*fin de la boucle tant que*/

Ah ok, je comprends le principe, mais j’ai encore vu comment faire ça :confused:

Qu’est ce que tu n’arrive pas à faire ?
La boucle et la condition tu sais faire. :wink:

Je ne comprends pas le while (tant que le tableau n’est pas finis d’être lu.)

J’ai pour habitude de faire while X <= (ou autre) à Y:

Mais la solution d’Ash à l’air sympa, si ça peut éviter de supprimer une chaine…

Je vais être un peu plus précis, après tu compare variable avec le dernier élément de la chaine tu sort de la boucle.