Deutsch English Français Italiano |
<vikoqt$3eo5p$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Dominique <dominique.sextant@orange.fr.invalid> Newsgroups: fr.comp.lang.python Subject: =?UTF-8?Q?Les_raisons_de_ma_question_de_ce_jour_=3A_panne_de_m?= =?UTF-8?Q?=C3=A9moire_avec_list_et_str?= Date: Mon, 2 Dec 2024 17:55:57 +0100 Organization: A noiseless patient Spider Lines: 56 Message-ID: <vikoqt$3eo5p$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Mon, 02 Dec 2024 17:55:58 +0100 (CET) Injection-Info: dont-email.me; posting-host="727972b966e97283085c8e830fc7ae79"; logging-data="3629241"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/2JOGrk/ZaIoNSElNCt0UZQVoe8UCScbw=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:ldDAxO1u1XSbGR3DHW3GbeKYlyo= Content-Language: fr Bytes: 3072 Re-bonjour, Je m'amuse avec le livre « 15 énigmes ludiques pour s'initier à la programmation Python » La 3e énigme parle d'un crêpier amateur qui empile des crêpes de tailles inégales. Il doit ensuite les empiler par ordre croissant, de la plus grande en bas à la plus petite en haut. Pour ce faire, il n'a qu'une spatule avec laquelle il peut prendre une pile d'une ou plusieurs crêpes, la retourner comme il veut et reclasser ses crêpes. L'idée est alors de chercher la plus grande crêpe, la retourner avec la pile qui est a-dessus, puis de la retourner à nouveau, prendre cette pile moins la plus grande qui est en bas, la retourner plus la remettre puis la retourner encore sur la pile de départ, etc. Je ne sais pas si je suis clair... Bref, voici mon code : -------------------------------------------------- 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)) for i in crepes: crepe.append(i) 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] #J'ajoute à la pile reclassée (result) la crêpe la plus grande result.append(temp[-1:]) #Je retire cette crêpe la plus grande de la pile initiale crepe.remove(max(temp)) #Et là, je vois que j'ai un peu triché. En effet, je ne remets pas en haut de la pile initiale les crêpres précédemment retirées en ligne 14 if crepe==[]: fin=True #Et c'est ici que je ne suis pas parvenu à formater correctement mon résultat en ligne 24 print(result) result=reversed(result) res=''.join(x for x, in result) print (res) -------------------------------------------------- Je suppose que ce code est tout moche, mais je n'ai pas regardé la solution du livre. Je vais essayer d'améliorer mon script en évitant de tricher :) -- Dominique Esto quod es