Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Jouer au Loto

27 réponses
Avatar
fred1599
Bonjour,

J'aimerais apprendre la notion de classes.

Pour cela j'aimerais cr=E9er un petit fichier "py" me permettant de
tirer au sort 7 num=E9ros sur 4 grilles.

Voila comment je vois les choses simples pour le moment, on affinera
ensuite.

J'aurais 4 classes, 1 classe pour chaque grille, que je nommerais
grille1, grille2, grille3 et grille4.

Pour grille1
Cr=E9er ma liste de num=E9ros (liste1)
Prendre 1 num=E9ro au hasard entre 1 et 49
R=E9p=E9ter "prendre 1 num=E9ro au hasard entre 1 et 49" 6 fois
Mettre les 7 num=E9ros dans liste1

Pour grille2
Idem grille1

Merci de m'aiguiller sans me donner la r=E9ponse, j'aimerais penser
comme vous, et ne pas recopier betement sans comprendre vos codes.

Question 1 : Est-ce que cr=E9er une classe grille est concevable est
correct, sachant que j'imagine ma classe comme un objet?

Question 2 : Dans ma fa=E7on de penser, est-ce correct ou non? Merci de
m'aider =E0 travailler sur python

A bientot

Je reviens demain soir, vous r=E9pondre.

Bye

10 réponses

1 2 3
Avatar
Mihamina (R12y) Rakotomandimby
jean-marc pouchoulon wrote:

class Grille(list):
def __init__(self):
i = 1
while i <=7:
self.append(randint(0,49))


"self.append"... "self" serait une liste?
j'avoue que je ne m'explique pas le truc là.

Avatar
Mihamina (R12y) Rakotomandimby
wrote:
Ok un truc du genre
class Grille :
a=grille1.Grille [] #création de l'instance grille1


Ouh là là... tu ne découvre pas que "les classes".
Mais ne t'inquiete pas, la syntaxe Python est facile.

Avatar
Jerome
Mihamina (R12y) Rakotomandimby wrote:
jean-marc pouchoulon wrote:

class Grille(list):
def __init__(self):
i = 1
while i <=7:
self.append(randint(0,49))


"self.append"... "self" serait une liste?
j'avoue que je ne m'explique pas le truc là.



class Grille(list):

la classe Grille dérive de list


Avatar
jean-marc pouchoulon

"self.append"... "self" serait une liste?
j'avoue que je ne m'explique pas le truc là.


en coulisse __new__ de list a fait son travail et a renvoyé une liste.

Avatar
Bruno Desthuilliers
jean-marc pouchoulon wrote:

class Grille(list):
def __init__(self):
i = 1
while i <=7:
self.append(randint(0,49))


"self.append"... "self" serait une liste?


A ton avis ? Tu a bien regardé la déclaration de la classe ?-)


Avatar
fred1599
On 10 sep, 09:09, Bruno Desthuilliers <bruno.
wrote:

On 9 sep, 21:44, "Mihamina (R12y) Rakotomandimby"
wrote:
Mihamina (R12y) Rakotomandimby wrote:
http://www.python.org/dev/peps/pep-0008/(section
"Naming Conventions")
http://lapagearegis.free.fr/guidedestyle.html

-> Conventions de Nommage


Ok un truc du genre

class Grille :
a=grille1.Grille [] #création de l'instance grille1


Dis voir... Qu'est-ce que tu dirais de lire un tutoriel Python avant
d'aller plus loin ?


Je les lis, j'ai même acheté un bouquin, mais je dois avouer que j'ai
beaucoup de mal de comprendre.

Ne doit-on pas faire comme cela pour créer une instance?

Merci




Avatar
fred1599
On 10 sep, 11:52, "Mihamina (R12y) Rakotomandimby"
wrote:
wrote:
Ok un truc du genre
class Grille :
a=grille1.Grille [] #création de l'instance grille1


Ouh là là... tu ne découvre pas que "les classes".
Mais ne t'inquiete pas, la syntaxe Python est facile.


Je la trouve en effet plus simple que les autres langages, cependant
elle me semble encore tres difficile pour moi, et j'avoue que je ne
vois pas combien de temps ca me mettra pour le comprendre, mais je
suis motivé.


Avatar
fred1599
On 10 sep, 09:08, Bruno Desthuilliers <bruno.
wrote:

Bonjour,

J'aimerais apprendre la notion de classes.

Pour cela j'aimerais créer un petit fichier "py" me permettant de
tirer au sort 7 numéros sur 4 grilles.

Voila comment je vois les choses simples pour le moment, on affinera
ensuite.

J'aurais 4 classes, 1 classe pour chaque grille, que je nommerais
grille1, grille2, grille3 et grille4.


AMHA, tu n'a pas compris le principe de base d'une classe. Tu n'a pas
besoin de 4 classes différentes, une seule suffit. Regarde la class int
(les nombres entiers) : c'est la même classes pour tous les entiers, pas
une classe par nombre !-)

Pour grille1
Créer ma liste de numéros (liste1)
Prendre 1 numéro au hasard entre 1 et 49
Répéter "prendre 1 numéro au hasard entre 1 et 49" 6 fois
Mettre les 7 numéros dans liste1


Ce que tu décris là est un algorithme, pas un type. Avant toute autre
chose, une classe décrit un type de données, c'est à dire la struct ure
de données, la plage de valeurs, et les opérations possibles. Dans ton
cas, ta classe Grille serait un ensemble de 7 nombres entier compris
entre 1 et 49. Je te laisse définir les opérations qui te semblent
appropriées, mais tu peux déjà songer à l'égalité (deux grill es sont
elles identiques ?).

mes deux centimes...


En effet c'est un algorithme, si on veut, j'aimerais mieux les
réussir.

Pour la complexité j'attendais déjà de résoudre ce problème de cl asse,
plus important pour moi que l'exercice lui meme.

J'aimerais savoir comment dois-je considérer une classe? Comme un
objet?

Merci


Avatar
Bruno Desthuilliers
On 10 sep, 09:08, Bruno Desthuilliers <bruno.
wrote:

Bonjour,
J'aimerais apprendre la notion de classes.
Pour cela j'aimerais créer un petit fichier "py" me permettant de
tirer au sort 7 numéros sur 4 grilles.
Voila comment je vois les choses simples pour le moment, on affinera
ensuite.
J'aurais 4 classes, 1 classe pour chaque grille, que je nommerais
grille1, grille2, grille3 et grille4.
AMHA, tu n'a pas compris le principe de base d'une classe. Tu n'a pas

besoin de 4 classes différentes, une seule suffit. Regarde la class int
(les nombres entiers) : c'est la même classes pour tous les entiers, pas
une classe par nombre !-)

Pour grille1
Créer ma liste de numéros (liste1)
Prendre 1 numéro au hasard entre 1 et 49
Répéter "prendre 1 numéro au hasard entre 1 et 49" 6 fois
Mettre les 7 numéros dans liste1
Ce que tu décris là est un algorithme, pas un type. Avant toute autre

chose, une classe décrit un type de données, c'est à dire la structure
de données, la plage de valeurs, et les opérations possibles. Dans ton
cas, ta classe Grille serait un ensemble de 7 nombres entier compris
entre 1 et 49. Je te laisse définir les opérations qui te semblent
appropriées, mais tu peux déjà songer à l'égalité (deux grilles sont
elles identiques ?).

mes deux centimes...


En effet c'est un algorithme, si on veut, j'aimerais mieux les
réussir.


Certes, mais là n'est pas la question. Un algorithme décrit une
procédure (une suite d'étapes...) à suivre pour obtenir un certain
résultat - en général, en informatique, ça se traduit par une fonction.
Une classe définit un type de données. Bref, ça n'a *aucun* rapport.

Pour la complexité j'attendais déjà de résoudre ce problème de classe,
plus important pour moi que l'exercice lui meme.

J'aimerais savoir comment dois-je considérer une classe? Comme un
objet?


Dans un premier temps, considère une classe comme la description d'un
type de donnée - si tu préfères, comme une "usine à objets" qui va créer
('instancier') une certaine "sorte" d'objets.

exemple:

class Personne(object):
def __init__(self, nom):
self.nom = nom

def dit_bonjour(self, autre):
return "bonjour %s, moi c'est %s" % (autre.nom, self.nom)


moi = Personne('bruno')
toi = Personne('fred')

print moi.dit_bonjour(toi)
print toi.dit_bonjour(moi)



Avatar
Bruno Desthuilliers
On 10 sep, 09:09, Bruno Desthuilliers <bruno.
wrote:
(snip)

Ok un truc du genre
class Grille :
a=grille1.Grille [] #création de l'instance grille1
Dis voir... Qu'est-ce que tu dirais de lire un tutoriel Python avant

d'aller plus loin ?


Je les lis, j'ai même acheté un bouquin,


Lequel, si ce n'est pas indiscret ?

mais je dois avouer que j'ai
beaucoup de mal de comprendre.


Alors tu devrais peut-être commencer par poser des questions sur ce que
tu a du mal à comprendre ?

Accessoirement, et puisque tu sembles débuter en programmation, je me
permets de te recommander ceci:
http://www.cifen.ulg.ac.be/inforef/swi/python.htm

Ne doit-on pas faire comme cela pour créer une instance?


Non. Regarde mon autre post à la fin de ce thread pour un exemple
simpliste de définition d'une classe et d'instanciation.



1 2 3