Sujet : Re: Les raisons de ma question de ce jour : panne de mémoire avec list et str
De : om+news (at) *nospam* miakinen.net (Olivier Miakinen)
Groupes : fr.comp.lang.pythonDate : 03. Dec 2024, 10:38:37
Autres entêtes
Organisation : There's no cabale
Message-ID : <vimjit$1bdk$1@cabale.usenet-fr.net>
References : 1 2 3
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4
Le 03/12/2024 07:06, 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.
Le nombre que mon random me propose représente, chiffre à chiffre, la
taille d'une crêpe, le nombre de chiffre de ce random indique le nombre
de crêpes.
Exemple : 580406 représente 6 crêpes avec 5 tailles différentes, peu
importe que deux ou plusieurs crêpes aient la même taille 0, au cas
particulier.
Ok. Tu as bien noté que c'était en contradiction avec l'énoncé.
D'ailleurs le hasard pourrait faire que tu aies toutes les crêpes de la
même taille. Par exemple, avec nb = 6, tu auras un nombre compris entre
531441 et 999999, qui pourrait être l'un des nombres 555555, 666666,
777777, 888888 ou 999999.
Soit dit en passant, je n'ai pas compris pourquoi ce 9**nb plutôt que,
par exemple, 10**(nb-1), si tu veux un nombre de nb chiffres. À partir
de nb = 22 tu pourrais même obtenir un nombre de 21 chiffres au lieu
de 22 chiffres !
-- Olivier Miakinen