IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Exercice les class (POO)


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 10
    Points : 0
    Points
    0
    Par défaut Exercice les class (POO)
    Salut ,

    Je commence la POO , mais j'ai énormément de mal , du au manque un peu d'explication et d’expérience en POO .
    Si vous avez des liens , tuto , ... sur cette pratique je suis preneur .
    Voici un exercice que je dois faire pour mon prof , mais j'ai du mal a trouver mes erreurs :


    Définissez une classe Domino() qui permette d'instancier des objets simulant
    les pièces d'un jeu de dominos. Le constructeur de cette classe initialisera les
    valeurs des points présents sur les deux faces A et B du domino (valeurs par
    défaut = 0).
    Deux autres méthodes seront définies :

    affiche_points() qui affiche les points présents sur les deux faces.

    valeur() qui renvoie la somme des points présents sur les 2 faces.
    Exemples d'utilisation de cette classe
    >>> d1 = Domino(2,6)
    >>> d2 = Domino(4,3)
    >>> d1.affiche_points()
    face A : 2 face B : 6
    >>> d2.affiche_points()
    face A : 4 face B : 3
    >>> print "total des points :", d1.valeur() + d2.valeur()
    15
    >>> liste_dominos = []
    >>> for i in range(7):
    liste_dominos.append(Domino(6, i))
    >>> print liste_dominos
    Sauvegarder ce fichier sous le nom domino.py


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    class Domino :
     
    	# Constructeur
    	def __init__(self):
     
    		self.A = 0
    		self.B = 0
     
    	# Méthode
    	def affiche_point(self,A,B):
    		self.A = A
    		self.B = B
     
    	def valeur(self,A,B):
    		self.res = A + B
     
    #Programme Principale
    d1 = Domino(2,6)
    d2 = Domino(4,3)
    d1.affiche_point()
    print("Face A : {} Face B : {}".format(Domino().A,Domino().B))

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    C'est très difficile sans te donner les réponses à l'exercice.

    Mais surtout tu devrais nous expliquer un peu ce que vous avez vu en POO (exemple, la surcharge opérateur?).

    Edit:

    On voit 2 arguments

    Les arguments sont à intégrer dans le __init__()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    class Domino(object):
        def __init__(self, A, B):
            self.A, self.B = A, B
    ce qui donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> d1 = Domino(2, 6)
    >>> d1.A
    2
    >>> d1.B
    6
    Ensuite il faut que tu crées une méthode affiche_points, et là c'est toi qui rentre en jeu
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 10
    Points : 0
    Points
    0
    Par défaut
    Merci pour ta réponse ,

    Par POO , je vois "programmation orienté objet"

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 049
    Points : 1 380
    Points
    1 380
    Par défaut
    Citation Envoyé par malabar93 Voir le message
    Merci pour ta réponse ,

    Par POO , je vois "programmation orienté objet"
    , ce que vous avez vu en cours, pas ce que vous voyez ... demande fred1599

  5. #5
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Euh... Si tu commences comme ça on va pas s'en sortir

    Je sais ce que veut dire POO, ce que j'aimerais savoir c'est ce que vous avez vu en cours de POO.

    Sinon t'as vu les explications du haut? ça te parle?

    Tu as fais la méthode affiche_points?

    Edit : grilled par josmiley
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 10
    Points : 0
    Points
    0
    Par défaut
    Merci pour vos réponses ,

    Désoler par ma vite faute d’inattention , sinon , pour le moment , on as pas vu grand chose se n'est que les bases des bases je pense .
    Càd comment crée une classe avec un constructeur et des méthodes .On a rien vu de plus , mais comme chaque nouvelle matière , j'ai du mal à la syntaxe .

    PS : Je me lance dans la partie "affiche_points"

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 69
    Points : 25
    Points
    25
    Par défaut
    tu dosi faire un return de self.a et self.b dans affiche_point

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 10
    Points : 0
    Points
    0
    Par défaut
    Sa fonctionne , je vais essayer de terminer le reste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    class Domino :
     
    	# Constructeur
    	def __init__(self, A=0, B=0):
    		self.A, self.B = A, B
     
    	# Méthode
    	def affiche_point(self):
    		return self.A, self.B
     
    #Programme Principale
    d1 = Domino(2,6)
    d2 = Domino(4,3)
    print(d1.affiche_point())

  9. #9
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Ce n'est pas ce qui est demandé pour affiche_points
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 10
    Points : 0
    Points
    0
    Par défaut
    Je ne sais pas comment aire autrement du a mon manque de connaissance dans la syntaxe des classe .

  11. #11
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    une méthode se construit à quelque chose prêt comme une fonction, réfléchit un peu... voir les formatages, return, etc... c'est toi et toi seul qui fera ce travail.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  12. #12
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par malabar93 Voir le message
    du a mon manque de connaissance dans la syntaxe des classe .
    Non, juste dû à ton manque de concentration

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    class Domino :
    	def affiche_point(self):
    		print "face A:%d, face B: %d\n" % (self.A, self.B)
     
    # Programme Principal (sans "e" car "programme" est du genre masculin)
    d1 = Domino(2,6)
    d2 = Domino(4,3)
    d1.affiche_point()
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  13. #13
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    heureusemenr que je lui dis de le trouver lui même

    sinon je pense plus à un manque de concentration mais en classe...

    quand on arrive à la POO, c'est qu'on à assimilé des bases dans le langage, enfin censé assimilé...
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  14. #14
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 10
    Points : 0
    Points
    0
    Par défaut
    Merci , je l'avais finnit y'a 2-3 heures mais j'avais oublié de posté ma solution .
    Sinon , je pense avoir finnit , si se n'est que le dernier truc dans les exemples que je ne vois pas trop se qu'il faut faire .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    #!/usr/bin/env python3
    #-*- coding: utf-8 -*-
    # Defise Thomas 6TB
    # MonDomino.py - Le 27 Octobre 2011 
     
    class Domino :
     
    	# Constructeur
    	def __init__(self, A=0, B=0):
    		self.A = A
    		self.B = B
     
    	# Méthode
    	def affiche_point(self):
    		print ("face A : {} face B : {}".format(self.A,self.B))
     
    	def valeur(self):
    		somme = self.A + self.B
    		return somme
     
    #Programme Principale
     
    d1 = Domino(2,6)
    d2 = Domino(4,3)
    J'ai fait un autre exercice que j'ai finnit et qui fonctionne et je m'attaque au dernier qui est le plus dur .

    JeuDeCartes.py
    Définissez une classe JeuDeCartes() permettant d'instancier des objets
    « jeu de cartes » dont le comportement soit similaire à celui d'un vrai jeu de
    cartes. La classe devra comporter au moins les quatre méthodes suivantes :

    constructeur : création et remplissage d'une liste de 52 éléments, qui
    sont eux-mêmes des tuples de 2 éléments contenant les
    caractéristiques de chacune des 52 cartes. Pour chacune d'elles, il faut
    en effet mémoriser séparément un nombre entier indiquant la valeur
    (2, 3, 4, ..., 11, 12, 13, 14, les 4 dernières valeurs étant celles des
    valet, dame, roi et as), et un autre nombre entier pour indiquer la
    couleur de la carte (c'est-à-dire 3, 2, 1, 0 pour Coeur, Carreau, Trèfle,
    Pique).
    Dans une telle liste, l'élément (11, 2) désigne donc le valet de Trèfle, et
    la liste terminée doit être du type : [(2,0),(3,0),...,(5,2),
    (6,2), ...,(13,3),(14,3)]
    Il n'est pas question d'implémenter le jeu de cartes en hard-coding !
    Vous utiliserez pour cela les boucles et les alternatives.

    nom_carte() : cette méthode renvoie sous la forme d'une chaîne
    l'identité d'une carte quelconque, dont on lui a fourni le tuple
    descripteur en argument.
    P. ex. : print jeu.nom_carte((14,3)) => As de Pique

    battre() : comme chacun sait, battre les cartes consiste à les
    mélanger, Cette méthode sert donc à mélanger les éléments de la liste
    contenant les cartes, quel qu'en soit le nombre.

    tirer() : lorsque cette méthode est invoquée, une carte est retirée du
    jeu. Le tuple contenant sa valeur et sa couleur est renvoyé au
    programme appelant. On retire toujours la première carte de la liste. Si
    cette méthode est invoquée alors qu'il ne reste plus aucune carte dans
    la liste, il faut alors renvoyer l'objet spécial None au programme
    appelant.
    Exemple d'utilisation de la classe
    jeu = JeuDeCarte() # Création du jeu de cartes
    jeu.battre() # mélange des cartes
    for n in range(52) : # Tirage des 52 cartes
    carte = jeu.tirer()
    if carte == None : # Il ne reste plus aucune carte
    print 'Terminé!'
    else :
    # Affichage de la valeur et de la couleur de la carte
    print jeu.nom_carte(carte)
    Complément de l'exercice précédent
    1. Définir deux joueurs A et B.
    2. Instancier deux jeux de cartes (un pour chaque joueur) et les
    mélanger.
    3. Ensuite, à l'aide d'une boucle, tirer 52 fois une carte de chacun des
    deux jeux et comparer leurs valeurs.
    1. Si c'est la première des deux qui a la valeur la plus élevée, on
    ajoute un point au joueur A.
    2. Si la situation contraire se présente, on ajoute un point au joueur B.
    3. Si les deux valeurs sont égales, on passe au tirage suivant. Celui qui
    remportera le duel suivant remportera un point en plus.
    P. ex. : Si le joueur A et joueur B tirent la même carte, on passe au
    tirage suivant. Si c'est le joueur A qui remporte le duel, celui-ci
    remporte 2 points à la place d'un et le joueur B aucun !
    4. Au terme de la boucle, comparer les comptes de A et de B pour
    déterminer le gagnant
    Et voila ou j'en suis , je n'arrive pas a faire les tuples et ma première boucle ne veut pas commencer a 1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    class JeuDeCartes :
    	# Constructeur
    	def __init__(self):
    		tuple = ()
    		carte = []
    		color = ['Coeur','Carreau','Trefle','Pique']
    		i = 1
    		for i in range(15):
    			o = 0
    			for o in range(4):
    				tuple = (i,color[o])
    				carte += tuple
    		print (carte)
     
    #Programme Principale
     
    jdc1 = JeuDeCartes()
    jdc1

  15. #15
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    heureusemenr que je lui dis de le trouver lui même
    Tu as mille fois raison. Généralement sur les gros trucs je ne donne pas la solution. Mais sur ce genre de petit truc, donner la solution en y rajoutant une petite claque verbale a, selon moi, plus d'effet. Normalement, si ton interlocuteur a qqchose dans la tête, il est tellement vexé de n'avoir pas trouvé un truc aussi simple qu'il se remotive et se reconcentre pour te montrer qu'il n'est pas aussi idiot que ce que tu le sous-entend. Et, si tu réfléchis bien, quelle que soit sa motivation, l'important est qu'il se reconcentre non ???

    Citation Envoyé par malabar93 Voir le message
    Merci , je l'avais finnit y'a 2-3 heures mais j'avais oublié de posté ma solution .
    Sinon , je pense avoir finnit , si se n'est que le dernier truc dans les exemples que je ne vois pas trop se qu'il faut faire .
    Cet exemple te montre comment utiliser la classe et ses méthodes pour créer et utiliser un tableau de dominos allant de 6,0 à 6,6

    Citation Envoyé par malabar93 Voir le message
    Et voila ou j'en suis , je n'arrive pas a faire les tuples
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def fct_tuple(x, y):
        return (x, y)
     
    print fct_tuple(2, 3), type(fct_tuple(2, 3))

    Citation Envoyé par malabar93 Voir le message
    et ma première boucle ne veut pas commencer a 1
    Mmmoui et alors ? C'est primordial ????

    Citation Envoyé par malabar93 Voir le message
    #Programme Principale
    Ca fait plaisir de voir comme tu tiens compte de ce qu'on t'écrit. Ca donne super envie de te répondre...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  16. #16
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,
    Dans:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class JeuDeCartes :
    	# Constructeur
    	def __init__(self):
    		tuple = ()
    		carte = []
    vous écrasez a définition de tuple qui est un "mot réservé" pour construire des tuple... Commencez plutôt par initialiser la liste de "cartes" comme çà:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    class JeuDeCartes :
    	# Constructeur
    	def __init__(self):
    		self.cartes = []
    Relisez l'énoncé: on vous demande d'utiliser des nombres pour coder les figures puis de traduire ces nombres en As, Coeur, Carreau, Trèfle,
    Pique,... De plus, "la liste terminée doit être du type : [(2,0),(3,0),...,(5,2),
    (6,2), ...,(13,3),(14,3)]"
    => Pas question de mettre dedans 'Coeur','Carreau','Trefle','Pique' même si çà pourrait aider...
    stricto sensu l'initialisation de self.cartes pourrait être faite ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for y in range(4):
         for x in range(2, 15):
              self.cartes.append( (x, y) )
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  17. #17
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 10
    Points : 0
    Points
    0
    Par défaut
    Merci de ton aide wiztricks ,j'ai finit les le contructeur et nom_carte .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    def __init__(self):
    		self.cartes = []
    		for y in range(4):
    			for x in range(2, 15):
    				self.cartes.append( (x, y) )
     
    	def nom_carte(self,x,y):
    		chiffre = ['Un','Deux','Trois','Quatre','Cinq','Six','Sept','Huit','Neuf','Dix','Valet','Dame','Roi']
    		color = ['Coeur','Carreau','Trefle','¨Pique']
    		print('{} de {}'.format(chiffre[x],color[y]))
    Je suis entrain de faire la fonction battre ou je cherche ou se trouve mon bug .
    Sinon , quelqu'un pourrait me dire comment tester mes scripte rapidement ,
    car la , je code avec Notepad++ .
    Pour tester mon script je dois aller dans le dossier ou se trouve le script , puis l'ouvre avec l'éditeur de python que je ne supporte pas et pour finir le lancer .

  18. #18
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2010
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 140
    Points : 182
    Points
    182
    Par défaut python
    C'est cool que votre prof vous fasse travailler en python

    pour tester ton script tu peux lancer la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    python nom_du_script.py
    si tu es dans le repertoire du script
    sous windows il faut ajouter le chemin de l'exe python en variable d'environnement (dans les propriétés du poste de travail)
    tu fais une référence a l'interpréteur python
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ex : c:\python2.7\python.exe
    et tu mets un alias comme python
    ensuite tu lance les commandes windows et tu te mets dans le répertoire de ton script :
    tu peux alors lancer ton script en tapant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    %nom_de_l_alias% nom_du_script.py
    (ici l'alias c'est python qu'on a indiqué dans les variables d'environnement)
    ton script doit alors s'exécuter

    PS: Sve@r, si tes méthode d'éducation/management sont basées sur le répressif, c'est pas pour autant que ça marche mieux avec tel ou tel individu. Malabar ne semble que vouloir apprendre...

  19. #19
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut
    Ecrire:
    chiffre = [ 'Un','Deux','Trois','Quatre','Cinq','Six','Sept','Huit','Neuf','Dix','Valet','Dame','Roi']
    color = ['Coeur','Carreau','Trefle','¨Pique']
    n'est pas cohérent avec l'énoncé qui dit:
    Pour chacune d'elles, il faut
    en effet mémoriser séparément un nombre entier indiquant la valeur
    (2, 3, 4, ..., 11, 12, 13, 14, les 4 dernières valeurs étant celles des
    valet, dame, roi et as)
    Ni avec le copie&coller de:

    Pour:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	def nom_carte(self,x,y):
    		chiffre = ['Un','Deux','Trois','Quatre','Cinq','Six','Sept','Huit','Neuf','Dix','Valet','Dame','Roi']
    		color = ['Coeur','Carreau','Trefle','¨Pique']
    		print('{} de {}'.format(chiffre[x],color[y]))

    chiffre et color étant des "constantes", inutile de les redéfinir à chaque fois.
    Soyez consistant pour le globish: "chiffres" et "couleurs" ou "numbers" et "colors".
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  20. #20
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 10
    Points : 0
    Points
    0
    Par défaut
    Merci utopman , j’arrive a tester mes scripts plus rapidement .

    Voila la suite du code , mais j'ai un bug à la dernière méthode .Il me met "list index out of range"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    from random import randrange
     
    class JeuDeCartes :
    	# Constructeur
    	def __init__(self):
    		self.cartes = []
    		for y in range(4):
    			for x in range(2, 15):
    				self.cartes.append( (x, y) )
     
    	def nom_carte(self,x,y):
    		number = ['Un','Deux','Trois','Quatre','Cinq','Six','Sept','Huit','Neuf','Dix','Valet','Dame','Roi']
    		color = ['Coeur','Carreau','Trefle','¨Pique']
    		print('{} de {}'.format(number[x],color[y]))
     
    	def battre(self):
    		used = []
    		cartesmel = []
    		while len(used) <= 54:
    			x = randrange(0,54)
    			if self.cartes[x] in used:
    				pass
    			else :
    				cartesmel.append(self.cartes[x])
    				used.append(self.cartes[x])
    		print (cartesmel)
     
    #Programme Principal
     
    jdc1 = JeuDeCartes()
    jdc1.battre()

Discussions similaires

  1. Exercice sur les classes et POO
    Par Lvmzoo1 dans le forum C++
    Réponses: 2
    Dernier message: 14/11/2014, 01h18
  2. [POO] Besoin de tutorat sur les classes
    Par misterniark dans le forum Langage
    Réponses: 11
    Dernier message: 20/04/2006, 13h48
  3. [POO] Pourquoi utiliser les classes ?
    Par GregPeck dans le forum Langage
    Réponses: 7
    Dernier message: 16/12/2005, 15h18
  4. [POO] projet ->soutirer les classes objets
    Par .:dev:. dans le forum C++
    Réponses: 10
    Dernier message: 14/06/2005, 23h05
  5. Réponses: 3
    Dernier message: 23/08/2004, 17h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo