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 :

liste et class en python


Sujet :

Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 15
    Points : 8
    Points
    8
    Par défaut liste et class en python
    Salut les gens

    Bon voilà j 'ai un petit soucis je marche à tatillon sur un exo de tp avec enregistrement (class),je marche un peu à l'aveuglette j’aimerais qu'on m' éclaire un peu la lanterne ^^
    Voilà j'ai commencé le code :

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    #!/bin/python
    # -*- coding: utf-8 -*-
     
    class compte_t:
     
    	nom = None #str
    	prenom = None #str
    	num_compte = None #int
    	solde = None #int
    	tab = None #tableau d'entier
     
    compte = compte_t()
     
    n = int(input("Saisir le nombre de case : "))
     
    if n==0 or n<4 or n>100 :
     
    	print("Les dimensions ne sont pas correctes....")
     
    else:
     
    	compte.tab = [None]*n
     
    	compte.nom =  str(input("Saisir votre nom : "))
    	compte.prenom = str(input("Saisir votre prenom : "))
    	compte.num_compte = int(input("Saisir le numéro de compte : "))
    	compte.solde = float(input("Saisir le solde : "))
     
    	compte.tab[0] = compte.nom 
    	compte.tab[1] = compte.prenom
    	compte.tab[2] = compte.num_compte
    	compte.tab[3] = compte.solde
     
    	compte.nom =  str(input("Saisir votre nom : "))
    	compte.prenom = str(input("Saisir votre prenom : "))
    	compte.num_compte = int(input("Saisir le numéro de compte : "))
    	compte.solde = float(input("Saisir le solde : "))
     
    	compte.tab[4] = compte.nom 
    	compte.tab[5] = compte.prenom
    	compte.tab[6] = compte.num_compte
    	compte.tab[7] = compte.solde
     
    	print("Tableau :",compte.tab[0:4])
    	print("Tableau :",compte.yab[0:8])
    Voila la consigne j'aimerais avoir un peu d'éclairage je suis bloqué merci d'avance

    Nom : sdf.png
Affichages : 481
Taille : 40,2 Ko

  2. #2
    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,

    Vous devriez profiter de la discussion ouverte par votre collègue sur le même sujet.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre éprouvé
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Points : 926
    Points
    926
    Par défaut
    Citation Envoyé par Power Lousse Voir le message
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    #!/bin/python
    # -*- coding: utf-8 -*-
     
    class compte_t:
     
    	nom = None #str
    	prenom = None #str
    	num_compte = None #int
    	solde = None #int
    	tab = None #tableau d'entier
     
    compte = compte_t()
     
    n = int(input("Saisir le nombre de case : "))
     
    if n==0 or n<4 or n>100 :
     
    	print("Les dimensions ne sont pas correctes....")
     
    else:
     
    	compte.tab = [None]*n
     
    	compte.nom =  str(input("Saisir votre nom : "))
    	compte.prenom = str(input("Saisir votre prenom : "))
    	compte.num_compte = int(input("Saisir le numéro de compte : "))
    	compte.solde = float(input("Saisir le solde : "))
     
    	compte.tab[0] = compte.nom 
    	compte.tab[1] = compte.prenom
    	compte.tab[2] = compte.num_compte
    	compte.tab[3] = compte.solde
     
    	compte.nom =  str(input("Saisir votre nom : "))
    	compte.prenom = str(input("Saisir votre prenom : "))
    	compte.num_compte = int(input("Saisir le numéro de compte : "))
    	compte.solde = float(input("Saisir le solde : "))
     
    	compte.tab[4] = compte.nom 
    	compte.tab[5] = compte.prenom
    	compte.tab[6] = compte.num_compte
    	compte.tab[7] = compte.solde
     
    	print("Tableau :",compte.tab[0:4])
    	print("Tableau :",compte.yab[0:8])
    Bonsoir,
    Il me semble que l'exercice n'est pas compris:
    - dans la classe "compte_t", un tableau est déclaré, or il n'en est pas question dans la première question.
    => la première question demande la création d'un compte, c'est tout. Et tous les renseignements (nom, prénom…) sont bien dedans.
    - la classe "compte_t", ne contient que des variables de classe, ce qui fait qu'il ne peut exister qu'un seul objet descendant de cette classe (enfin, plusieurs, mais ayant tous des valeurs identiques).
    => Modifier l'une des instances, modifie toutes les autres instances. ie: modifier un compte reviens à modifier tous les autres comptes.
    - un tableau contenant l'ensemble des comptes peut-être soit une variable de classe, soit un tableau extérieur.
    => Dans les deux cas, c'est un tableau d'instances de "compte_t"
    - partie 3: contrairement au code présenté, la demande est que le nombre de compte soit variable (et pas fixé en dur dans le script ni a priori par une question)
    => il est nécessaire de mettre en place un mécanisme permettant de remplir le tableau de nouveaux comptes.
    - partie 4: l'affichage est une "possibilité", pas une obligation…
    => il faut mettre en place un menu, permettant, par exemple, d'ajouter un compte, d'afficher l'ensemble des comptes ou de terminer…
    - partie 5: ajouter au menu l'affichage des comptes débiteurs…
    => toutes ces actions doivent être réalisées dans des fonctions dépendantes du menu…

    Clodion

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Effectivement j'avais mal compris la consigne x) ,merci pour votre aide , du coup je vais refaire tout ca de mon coté je posterais la solution quand je l'aurais finis voilà

  5. #5
    Membre éprouvé
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Points : 926
    Points
    926
    Par défaut
    Citation Envoyé par Power Lousse Voir le message
    Effectivement j'avais mal compris la consigne x) ,merci pour votre aide , du coup je vais refaire tout ca de mon coté je posterais la solution quand je l'aurais finis voilà
    Bonsoir,
    Il faudrait commencer par faire la distinction entre variable de classe et variable d'instance (ie: self).
    Sans cela, point de salut.

    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
    >>> class Ma_Class:
    	tab = []
    	def maj(self, x):
    		self.x = x
    		Ma_Class.tab.append(self)
     
     
    >>> a = Ma_Class()
    >>> a.maj("a")
    >>> len(Ma_Class.tab)
    1
    >>> b = Ma_Class()
    >>> b.maj("b")
    >>> len(Ma_Class.tab)
    2
    >>> a.x
    'a'
    >>> b.x
    'b'
    >>> Ma_Class.tab[0].x
    'a'
    >>> Ma_Class.tab[1].x
    'b'
    >>>
    Clodion

    PS: sinon, "enregistrement" ne veut pas obligatoirement dire "class" ou instance de classe!
    (Un dictionnaire, une liste… feraient aussi bien l'affaire en plus simple)

Discussions similaires

  1. Récupérer la liste des classes d'un package
    Par Coulon Arnaud dans le forum Général Java
    Réponses: 20
    Dernier message: 30/12/2010, 00h04
  2. lire la liste des classes d'un package sous Websphere
    Par Coulon Arnaud dans le forum Websphere
    Réponses: 4
    Dernier message: 21/05/2007, 09h22
  3. Accés mémoire sur liste de classe
    Par sacados1 dans le forum C++
    Réponses: 4
    Dernier message: 31/03/2007, 20h42
  4. Filtrer une liste de classes
    Par neuromencien dans le forum Langage
    Réponses: 7
    Dernier message: 14/10/2006, 11h22
  5. variable de classe en Python
    Par Thierry Chappuis dans le forum Général Python
    Réponses: 5
    Dernier message: 09/02/2006, 22h06

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