Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.lang.python > #4273

Re: [SOLUTION] Tri de crêpes

From Dominique <dominique.sextant@orange.fr.invalid>
Newsgroups fr.comp.lang.python
Subject Re: [SOLUTION] Tri de crêpes
Date 2024-12-21 18:22 +0100
Organization A noiseless patient Spider
Message-ID <vk6tg4$502a$1@dont-email.me> (permalink)
References <vikoqt$3eo5p$1@dont-email.me> <vimqp4$1h59$1@cabale.usenet-fr.net> <vin3d6$1mos$1@cabale.usenet-fr.net>

Show all headers | View raw


Le 03/12/2024 à 15:08, Olivier Miakinen a écrit :
> Solution du problème, ne pas lire tant que tu veux encore chercher.
> 
> En revanche, toute proposition d'amélioration est la bienvenue.

Ta solution de tri des crêpes est très intéressante et part du postulat 
que tu n'as qu'un seul tas. Je n'ai pas regardé la solution du livre « 
15 énigmes ludiques pour Python » mais l'énoncé ne paraît pas dire qu'on 
ne doit travailler que sur un seul tas.

Dans ma solution, j'ai, à un moment donné , 3 tas :
crepe qui correspond aux crêpes non encore triées,
result qui correspond au tas de crêpes qui se trie progressivement
et temp qui est un tas temporaire duquel je retire la crêpe max que je 
mets dans résult. Pour simplifier, je retire cette crêpe max avec un 
bête remove dans crepe.

Dans la vraie vie, on peut imaginer que le cuistot a bien 3 assiettes 
devant lui et une seule spatule.

Accessoirement, j'ai simplifié en ayant une liste d'entiers dans crepe 
et pas des strings.

======================================================
import random

result=list()
crepe=list()

nb=int(input('Nombre de crêpes '))
#Calcul de la taille des crêpes de 0 à 9
crepes=str(random.randint(9**nb,10**nb))
crepe=[int(x) for x in crepes]
print(crepes)
print()

fin=False
while fin==False:
     #Je prends la crêpe la plus garnde ainsi que la pile au--dessus
     temp=crepe[0:crepe.index(max(crepe))+1]
     temp.reverse()
     crepe.remove(max(temp))
     #J'ajoute à la pile reclassée (result) la crêpe la plus grande
     result.insert(0,temp[0])
     #Je retire cette crêpe la plus grande de la pile initiale
     temp=temp[1:]
     #temp.reverse()
     print(crepe, '|',result)


     if crepe==[]:
         fin=True
======================================================
Avec 10 crêpes, j'ai ce résultat :

Nombre de crêpes 10
9686246886

[6, 8, 6, 2, 4, 6, 8, 8, 6] | [9]
[6, 6, 2, 4, 6, 8, 8, 6] | [8, 9]
[6, 6, 2, 4, 6, 8, 6] | [8, 8, 9]
[6, 6, 2, 4, 6, 6] | [8, 8, 8, 9]
[6, 2, 4, 6, 6] | [6, 8, 8, 8, 9]
[2, 4, 6, 6] | [6, 6, 8, 8, 8, 9]
[2, 4, 6] | [6, 6, 6, 8, 8, 8, 9]
[2, 4] | [6, 6, 6, 6, 8, 8, 8, 9]
[2] | [4, 6, 6, 6, 6, 8, 8, 8, 9]
[] | [2, 4, 6, 6, 6, 6, 8, 8, 8, 9]
-- 
Dominique
Esto quod es

Back to fr.comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

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