Discussion: Jouer au Loto
Afficher un message
Vieux 10/09/2007, 08h17   #8
Bruno Desthuilliers
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Jouer au Loto

jean-marc pouchoulon a écrit :
>
>>
>> Sinon, et puisque j'y pense, au niveau de la façon d'écrire le code,
>> je te conseille ceci: http://www.python.org/dev/peps/pep-0008/
>> (section "Naming Conventions") ou tu verras comment "ecrire
>> correctement" le nom d'une classe et d'une instance.

>
> J'avais noté ca aussi pour les conventions
> http://conferences.oreillynet.com/pr...os_goodger.pdf
>
> Pour le faire du code avec une classe je ferais ca mais....
>
> from random import randint
>
> class Grille(list):
> def __init__(self):
> i = 1
> while i <=7:
> self.append(randint(0,49))
> i += 1
>


for i in xrange(1,8):
self.append(randint(1,49))


> g1 = Grille()
> g2 = Grille()
> g3 = Grille()
> g4 = Grille()
>
> print g1
> print g2
> print g3
> print g4
>
>
> ...une question idiote ca marche mais pourquoi?


Pourquoi est-ce qye ça ne marcherais pas ?

> je suis un peu surpris de ne pas devoir appeler le contructeur de list
> dans le contructeur de Grille.


Tu n'a pas surchargé le constructeur de list, tu n'a donc pas à
l'appeler. Note bien que __init__() n'est *pas* le constructeur, mais
l'initialiseur. Le constructeur, c'est __new__().

Accessoirement, sous-classer liste n'est probablement pas la meilleur
chose à faire ici. Une grille de loto n'est définitivement pas une liste
(sémantique et invariants différents). Que tu utilise une liste pour
implémenter ta grille, c'est ton choix (et une solution possible), mais
ça ne devrait pas être visible.

  Réponse avec citation
 
Page generated in 0,05065 seconds with 9 queries