Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.lang.python > #4255
| From | Olivier Miakinen <om+news@miakinen.net> |
|---|---|
| Newsgroups | fr.comp.lang.python |
| Subject | [SOLUTION] Tri de crêpes |
| Date | 2024-12-03 15:08 +0100 |
| Organization | There's no cabale |
| Message-ID | <vin3d6$1mos$1@cabale.usenet-fr.net> (permalink) |
| References | <vikoqt$3eo5p$1@dont-email.me> <vimqp4$1h59$1@cabale.usenet-fr.net> |
Solution du problème, ne pas lire tant que tu veux encore chercher.
En revanche, toute proposition d'amélioration est la bienvenue.
Le 03/12/2024 12:41, Olivier Miakinen a écrit :
>
> https://fr.wikipedia.org/wiki/Tri_de_cr%C3%AApes
=============================================================================
#!/usr/bin/python3
import random
nb = int(input('Nombre de crêpes : '))
crepes = list(range(0, nb)) # crepes = [0, 1, ..., nb-1]
random.shuffle(crepes) # là elles sont probablement dans le désordre
desordre = nb # nombre de crêpes non triées
# Boucle infinie, mais dont on sortira par exit(0) quand tout sera trié.
while True:
# Les dernières crêpes sont dans l'ordre si crepes[i] == i
while desordre > 0 and crepes[desordre - 1] == desordre - 1:
desordre = desordre - 1
print("Les crêpes sont dans l'ordre suivant :", crepes,
f"({nb - desordre} ok)")
###################################################################
# Le seul point de sortie du programme est ici
###################################################################
if desordre == 0:
print("Les crêpes sont bien ordonnées.")
exit(0)
###################################################################
# On va chercher la plus grande crêpe parmi celles qui ne sont
# pas encore triées
maxcrepe = max(crepes[:desordre])
maxindex = crepes.index(maxcrepe)
if maxindex == 0:
# La plus grande des crêpes non triées est en haut de la pile,
# on va renverser l'ensemble des crêpes non triées pour la
# mettre en bas.
retourner = desordre
else:
# Le plus grande des crêpes non triées n'est pas en haut de la
# pile, on va retourner suffisamment de crêpes pour l'y mettre.
retourner = maxindex + 1
print(f"On retourne {retourner} crêpes.")
crepes[:retourner] = crepes[:retourner][::-1]
# Cette ligne du programme n'est jamais atteinte
=============================================================================
--
Olivier Miakinen
Back to fr.comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar
Les raisons de ma question de ce jour : panne de mémoire avec list et str Dominique <dominique.sextant@orange.fr.invalid> - 2024-12-02 17:55 +0100
Re: Les raisons de ma question de ce jour : panne de mémoire avec list et str Olivier Miakinen <om+news@miakinen.net> - 2024-12-02 22:13 +0100
Re: Les raisons de ma question de ce jour : panne de mémoire avec list et str Dominique <dominique.sextant@orange.fr.invalid> - 2024-12-03 07:06 +0100
Re: Les raisons de ma question de ce jour : panne de mémoire avec list et str Olivier Miakinen <om+news@miakinen.net> - 2024-12-03 10:38 +0100
Re: Les raisons de ma question de ce jour : panne de mémoire avec list et str Olivier Miakinen <om+news@miakinen.net> - 2024-12-02 22:48 +0100
Re: Les raisons de ma question de ce jour : panne de mémoire avec list et str Olivier Miakinen <om+news@miakinen.net> - 2024-12-02 23:02 +0100
Re: Les raisons de ma question de ce jour : panne de mémoire avec list et str Olivier Miakinen <om+news@miakinen.net> - 2024-12-03 10:29 +0100
Re: Les raisons de ma question de ce jour : panne de mémoire avec list et str Dominique <dominique.sextant@orange.fr.invalid> - 2024-12-03 07:16 +0100
Re: Les raisons de ma question de ce jour : panne de mémoire avec list et str Olivier Miakinen <om+news@miakinen.net> - 2024-12-03 11:03 +0100
Tri de crêpes (was: Les raisons de ma question de ce jour : panne de mémoire avec list et str) Olivier Miakinen <om+news@miakinen.net> - 2024-12-03 12:41 +0100
Re: Tri de crêpes Olivier Miakinen <om+news@miakinen.net> - 2024-12-03 12:53 +0100
[SOLUTION] Tri de crêpes Olivier Miakinen <om+news@miakinen.net> - 2024-12-03 15:08 +0100
Re: [SOLUTION] Tri de crêpes Dominique <dominique.sextant@orange.fr.invalid> - 2024-12-03 18:07 +0100
Re: [SOLUTION] Tri de crêpes Olivier Miakinen <om+news@miakinen.net> - 2024-12-03 18:57 +0100
Re: [SOLUTION] Tri de crêpes Damien Wyart <damien.wyart@free.fr> - 2024-12-04 09:31 +0100
Re: [SOLUTION] Tri de crêpes Olivier Miakinen <om+news@miakinen.net> - 2024-12-04 12:16 +0100
Re: [SOLUTION] Tri de crêpes Damien Wyart <damien.wyart@free.fr> - 2024-12-04 13:09 +0100
Re: [SOLUTION] Tri de crêpes Olivier Miakinen <om+news@miakinen.net> - 2024-12-05 19:42 +0100
Signature d'une fonction (was: [SOLUTION] Tri de crêpes) Olivier Miakinen <om+news@miakinen.net> - 2024-12-05 19:56 +0100
Re: Signature d'une fonction Olivier Miakinen <om+news@miakinen.net> - 2024-12-06 00:34 +0100
Trouver l'index du plus grand élément dans une liste (was: [SOLUTION] Tri de crêpes) Olivier Miakinen <om+news@miakinen.net> - 2024-12-04 12:24 +0100
Re: [SOLUTION] Tri de crêpes Dominique <dominique.sextant@orange.fr.invalid> - 2024-12-21 18:22 +0100
Re: [SOLUTION] Tri de crêpes Dominique <dominique.sextant@orange.fr.invalid> - 2024-12-22 06:41 +0100
csiph-web