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 :

un petit problème de liste et de type


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 5
    Par défaut un petit problème de liste et de type
    Bonjour à tous

    J'ai une ligne de code qui est comme ceci :
    self.canevas.create_rectangle(abs[x], self.y2, abs[x]+2, ord[x], fill=coul, width=0)

    Le troisième paramètre que je donne à ma fonction, abs[x]+2, est ce qui me pose problème.
    Je souhaite extraire de la liste un élément et lui ajouter 2, mais l'interprèteur considère que j'essaie de concaténer un entier et une liste à l'aide de l'opérateur +. Comment faire ?
    Est-ce que je peux transtyper ( et comment ) ? Est-ce qu'une méthode de la liste me permet d'extraire une valeur ?

    J'ai consulté le Swinnen et un autre guide que j'ai trouvé ici je crois, mais je ne vois rien pour résoudre mon problème.

    Merci pour votre aide
    sg231

  2. #2
    Membre émérite
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Par défaut
    abs() est une fonction built-in. Change le nom de la variable, voit ce que ça donne.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 5
    Par défaut
    Salut

    Merci pour ton aide
    J'ai renommé ma variable mais ca ne fonctionne toujours pas.
    En revanche en ligne de commande il n'y a aucun problème.

    IDLE 1.2.1
    >>> l=[1,2,3,4,5]
    >>> x=0
    >>> l[x]+2
    3

    Je me suis demandé si c'est PyScripter qui me bloque, mais ces trois lignes fonctionnent parfaitement si je les interprète seules, donc non.

    Cela ne fonctionne pas non plus si je calcule le paramètre avant de le passer à la fonction :
    TypeError: can only concatenate list (not "int") to list

    sg231

  4. #4
    Membre émérite
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Par défaut
    Ça veut dire que abs[x] retourne une liste à un moment donné. Fait un print abs pour voir ce qu'il y a dedans. S'il y a autre chose que des nombres, t'as un problème.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 5
    Par défaut
    Salut

    On a trouvé !

    print abs me donne cela :
    [[728], [716], [704], [692], [680], [668], [656], [644], [632], [620], [608], [596], [584], [572], [560], [548], [536], [524], [512], [500], [488], [476], [464], [452], [440], [428], [416], [404], [392], [380], [368], [356], [344], [332], [320], [308], [296], [284], [272], [260], [248], [236], [224], [212], [200], [188], [176], [164], [152], [140]]

    au-dessus il y a cela :

    for x in range(nbBarresAffiche):
    abs[x]=[self.x2-((x+1)*self.ppz)]

    L'instruction est dans une boucle alors j'avais essayé d'imprimer une valeur à chaque itération. Les crochets s'imprimaient mais je n'ai pas réagi. (J'ai commencé Python Lundi)
    J'aurais du penser à une mauvaise initialisation après avoir testé dans la console.

    En tout cas voila une bonne chose de faite, merci de ton aide !

    sg231

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. petit problème de liste
    Par Mathusalem dans le forum Général Python
    Réponses: 3
    Dernier message: 12/08/2009, 11h42
  2. petit problème sur les listes chaînées
    Par poche dans le forum C
    Réponses: 14
    Dernier message: 19/03/2007, 16h53
  3. Petit problème de liste déroulante (encore un)
    Par kabal dans le forum Struts 1
    Réponses: 7
    Dernier message: 10/12/2006, 15h08
  4. Petit problèmes avec display list et transformations
    Par Baptiste Wicht dans le forum OpenGL
    Réponses: 5
    Dernier message: 10/02/2006, 17h00
  5. [jointure] Petit problème sur le type de jointure...
    Par SteelBox dans le forum Langage SQL
    Réponses: 13
    Dernier message: 13/02/2004, 18h55

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