[SOLUTION] Tri de crêpes

Liste des GroupesRevenir à fcl python 
Sujet : [SOLUTION] Tri de crêpes
De : om+news (at) *nospam* miakinen.net (Olivier Miakinen)
Groupes : fr.comp.lang.python
Date : 03. Dec 2024, 15:08:38
Autres entêtes
Organisation : There's no cabale
Message-ID : <vin3d6$1mos$1@cabale.usenet-fr.net>
References : 1 2
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4
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

Date Sujet#  Auteur
2 Dec 24 * Les raisons de ma question de ce jour : panne de mémoire avec list et str24Dominique
2 Dec 24 +* Re: Les raisons de ma question de ce jour : panne de mémoire avec list et str3Olivier Miakinen
3 Dec 24 i`* Re: Les raisons de ma question de ce jour : panne de mémoire avec list et str2Dominique
3 Dec 24 i `- Re: Les raisons de ma question de ce jour : panne de mémoire avec list et str1Olivier Miakinen
2 Dec 24 +* Re: Les raisons de ma question de ce jour : panne de mémoire avec list et str5Olivier Miakinen
2 Dec 24 i+* Re: Les raisons de ma question de ce jour : panne de mémoire avec list et str2Olivier Miakinen
3 Dec 24 ii`- Re: Les raisons de ma question de ce jour : panne de mémoire avec list et str1Olivier Miakinen
3 Dec 24 i`* Re: Les raisons de ma question de ce jour : panne de mémoire avec list et str2Dominique
3 Dec 24 i `- Re: Les raisons de ma question de ce jour : panne de mémoire avec list et str1Olivier Miakinen
3 Dec 24 `* Tri de crêpes (was: Les raisons de ma question de ce jour : panne de mémoire avec list et str)15Olivier Miakinen
3 Dec 24  +- Re: Tri de crêpes1Olivier Miakinen
3 Dec 24  `* [SOLUTION] Tri de crêpes13Olivier Miakinen
3 Dec 24   +* Re: [SOLUTION] Tri de crêpes2Dominique
3 Dec 24   i`- Re: [SOLUTION] Tri de crêpes1Olivier Miakinen
4 Dec 24   +* Re: [SOLUTION] Tri de crêpes7Damien Wyart
4 Dec 24   i`* Re: [SOLUTION] Tri de crêpes6Olivier Miakinen
4 Dec 24   i `* Re: [SOLUTION] Tri de crêpes5Damien Wyart
5 Dec 24   i  `* Re: [SOLUTION] Tri de crêpes4Olivier Miakinen
5 Dec 24   i   `* Signature d'une fonction (was: [SOLUTION] Tri de crêpes)3Olivier Miakinen
5 Dec 24   i    `* Re: Signature d'une fonction (was: [SOLUTION] Tri de crêpes)2Stefan Ram
6 Dec 24   i     `- Re: Signature d'une fonction1Olivier Miakinen
4 Dec 24   +- Trouver l'index du plus grand élément dans une liste (was: [SOLUTION] Tri de crêpes)1Olivier Miakinen
21 Dec 24   +- Re: [SOLUTION] Tri de crêpes1Dominique
22 Dec 24   `- Re: [SOLUTION] Tri de crêpes1Dominique

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal