Deutsch   English   Français   Italiano  
<vil9ve$lkc$1@cabale.usenet-fr.net>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!feeds.phibee-telecom.net!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?Re:_Les_raisons_de_ma_question_de_ce_jour_:_panne_de_m?=
 =?UTF-8?Q?=c3=a9moire_avec_list_et_str?=
Date: Mon, 2 Dec 2024 22:48:30 +0100
Organization: There's no cabale
Lines: 59
Message-ID: <vil9ve$lkc$1@cabale.usenet-fr.net>
References: <vikoqt$3eo5p$1@dont-email.me>
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 1733176110 22156 93.28.89.200 (2 Dec 2024 21:48:30 GMT)
X-Complaints-To: abuse@usenet-fr.net
NNTP-Posting-Date: Mon, 2 Dec 2024 21:48:30 +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: <vikoqt$3eo5p$1@dont-email.me>
Bytes: 2504

Le 02/12/2024 17:55, Dominique a écrit :
> 
> [...] Je vais essayer d'améliorer mon script en évitant de 
> tricher :)

Avant de te lancer dans le problème complet, commence par faire *une*
étape de deux retournements, en partant d'un exemple que tu maîtrises.

***

Par exemple, si tu pars de :

  crepe = [1, 2, 7, 8, 3, 4, 5, 6, 9, 10]

***

Ton programme doit :

a) déterminer que sur les dix crêpes, huit ne sont pas encore triées, puisque
   la 9 et la 10 sont déjà à leur place.

   N_non_triees = 8

b) déterminer que la plus grande crêpe non triée est la 8, à la 4e position.

   N_a_retourner = 4

c) retourner les N_a_retourner premières crêpes, pour donner :

   crepe = [8, 7, 2, 1, 3, 4, 5, 6, 9, 10]

d) retourner les N_non_triees premières crêpes, pour donner :

   crepe = [6, 5, 4, 3, 1, 2, 7, 8, 9, 10]

***

Et donc là, ton programme calculera en (a) et (b) :

   N_non_triees = 6
   N_a_retourner = 1

Il devrait se rendre compte que l'étape (c) est inutile (on ne retourne pas
une crêpe toute seule), et donnera à l'étape (d) :

   crepe = [2, 1, 3, 4, 5, 6, 7, 8, 9, 10]

***

De là, il sautera encore l'étape (c) ayant calculé que N_a_retourner vaut 1,
et il retournera en (d) les deux crêpes 2 et 1 pour le résultat final.

***

Comme tu le vois, tu auras besoin d'une fonction qui retourne les N premiers
éléments d'une liste de taille généralement supérieure à N.

-- 
Olivier Miakinen