Deutsch English Français Italiano |
<vin3d6$1mos$1@cabale.usenet-fr.net> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!2.eu.feeder.erje.net!feeder.erje.net!proxad.net!feeder1-2.proxad.net!usenet-fr.net!.POSTED!not-for-mail From: Olivier Miakinen <om+news@miakinen.net> Newsgroups: fr.comp.lang.python Subject: =?UTF-8?Q?[SOLUTION]_Tri_de_cr=c3=aapes?= Date: Tue, 3 Dec 2024 15:08:38 +0100 Organization: There's no cabale Lines: 60 Message-ID: <vin3d6$1mos$1@cabale.usenet-fr.net> References: <vikoqt$3eo5p$1@dont-email.me> <vimqp4$1h59$1@cabale.usenet-fr.net> NNTP-Posting-Host: 200.89.28.93.rev.sfr.net Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 8bit X-Trace: cabale.usenet-fr.net 1733234918 56092 93.28.89.200 (3 Dec 2024 14:08:38 GMT) X-Complaints-To: abuse@usenet-fr.net NNTP-Posting-Date: Tue, 3 Dec 2024 14:08:38 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4 In-Reply-To: <vimqp4$1h59$1@cabale.usenet-fr.net> Bytes: 3136 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