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 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:13:50 +0100 Organization: There's no cabale Lines: 41 Message-ID: References: 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 1733174031 21200 93.28.89.200 (2 Dec 2024 21:13:51 GMT) X-Complaints-To: abuse@usenet-fr.net NNTP-Posting-Date: Mon, 2 Dec 2024 21:13:51 +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: Bytes: 2193 Le 02/12/2024 17:55, Dominique a écrit : > > La 3e énigme parle d'un crêpier amateur qui empile des crêpes de tailles > inégales. [...] > > 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) Je ne comprends ni le commentaire, ni le code. Prenons par exemple nb = 5. Tu demandes un nombre aléatoire entre 9^5 = 59049 et 10^5 = 100000, ça te donnera donc un nombre dont au moins l'un des chiffres est supérieur ou égal à 5, mais tu pourrais par exemple obtenir 60000, avec donc quatre fois le chiffre 0 et une fois le chiffre 6 : ça ne correspond pas à l'énoncé qui demande des tailles inégales. D'ailleurs, si nb > 10, il sera complètement impossible que toutes les tailles soient différentes ! Voyons voir... random.shuffle(x) Shuffle the sequence x in place. Du coup, je ferais plutôt un truc du genre : crepe = list(range(0, nb)) random.shuffle(crepe) Par exemple, avec nb = 13 ça m'a donné : [5, 12, 2, 7, 1, 6, 11, 3, 10, 0, 9, 4, 8] -- Olivier Miakinen