Sujet : Re: [SOLUTION] Tri de crêpes
De : om+news (at) *nospam* miakinen.net (Olivier Miakinen)
Groupes : fr.comp.lang.pythonDate : 04. Dec 2024, 12:16:33
Autres entêtes
Organisation : There's no cabale
Message-ID : <vipdmh$6ri$1@cabale.usenet-fr.net>
References : 1 2 3 4
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4
Le 04/12/2024 09:31, Damien Wyart a écrit :
Quelques petites suggestions :
Et je te remercie pour ça. Moi aussi je suis plutôt débutant en python, et
surtout complètement autodidacte.
* Olivier Miakinen <om+news@miakinen.net> in fr.comp.lang.python:
crepes = list(range(0, nb)) # crepes = [0, 1, ..., nb-1]
Dans ce cas, le 0 est optionnel, on écrit plus couramment range(nb)
Bien vu. Je l'avais su mais je l'avais oublié.
# Boucle infinie, mais dont on sortira par exit(0) quand tout sera trié.
Peu gênant ici, car le code est court, mais il serait plus "standard" que le code
de tri soit dans une fonction séparée, suivie d'une section
if __name__ == '__main__':
avec l'exemple qui teste la fonction.
Alors ça, je n'en ai jamais entendu parler. Dans quelle partie de la doc je
peux trouver des infos sur ces « __name__ » et « __main__ » ?
exit(0)
Cela fonctionne mais c'est trop "fort", il s'agit vraiment d'une interruption
complète du programme (c'est très "bas niveau"). S'il y avait autre chose à
faire après le while, cela serait impossible. Donc ici, il faut vraiment
utiliser "break", qui va juste sortir de la boucle, rien de plus.
J'aurais en effet utilisé « break » s'il y avait eu autre chose à faire après.
Ou alors j'aurais aussi pu mettre le code dans une fonction et utiliser un
« return ». Là j'ai utilisé « exit » parce que je savais qu'il n'y avait rien
d'autre à faire.
J'utilise les trois méthodes en C, langage que je pratique depuis bien plus
longtemps que Python.
crepes[:retourner] = crepes[:retourner][::-1]
L'inversion par les derniers [] fonctionne mais en Python "moderne", on écrirait plutôt :
crepes[:retourner] = reversed(crepes[:retourner])
Merci. Je ne connaissais ni l'un ni l'autre, c'est en faisant une recherche sur
Internet que j'ai trouvé ce [::-1] − que d'ailleurs je n'avais pas compris tout
de suite.
Cordialement,
-- Olivier Miakinen