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 :

TypeError: 'int' object is not iterable [Python 2.X]


Sujet :

Python

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2016
    Messages : 10
    Par défaut TypeError: 'int' object is not iterable
    Bonjour a tous

    voila mon problème:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for i in len(x_model):
             if x_model[i] > 60.00539803 :
                   print (model_iso(x_model,res[1]))[i]
     
    TypeError: 'int' object is not iterable
    ici x_model est une liste crée avec linspace et model_iso est une fonction qui renvoie le même ombre d'element qui a dans x_model, donc une liste de 1000 element pour chaqu'une.

    je comprend pas donc d'où vient cette erreur

    ps: je suis vraiment un novice en programmation (python).

    d'avance merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    795
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 795
    Par défaut
    Bonjour

    La fonction len renvoyant un entier, tu ne peux pas boucler dessus
    Si tu veut faire une boucle de 0 jusqu'à ce nombre, il y au moins 2 solution:
    - utiliser un while
    - utiliser la fonction range

    EDIT:
    à priori, tu souhaites uniquement boucler sur les éléments de la liste x_model

    donc tous simplement:
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for elt in x_model:
       if elt > 60.00539803 :

    Je t'invite tout de même à lire (ou relire) le tuto sur les listes :
    https://python.developpez.com/cours/...ge=page_7#L7-D
    https://python.developpez.com/cours/...=page_12#L12-B

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2016
    Messages : 10
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    model_reduced=[]                
        ...: for i in x_model:
        ...:     if i > 90 and i < 120:
        ...:         model_reduced.append(model_iso(x_model,res[1])*x_model**2)
    j'ai fait ca mais il me renvoi la meme liste que model_iso(x_model,res[1]

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    795
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 795
    Par défaut
    Merci de nous fournir un peu plus de détails

    Qu'est ce que model_iso ? une fonction ?

    Par ailleurs, je ne pense pas qu'on puisse utiliser l'opérateur ** sur une liste (personnellement je n'ai pas réussi)

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2016
    Messages : 10
    Par défaut
    merci pour tes reponses

    finalement j'ai reussi en utilasant ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    i= where( (x_model > 80.) & (x_model < 130) ) 
     
    x_model_red = x_model[i]
    model_iso_red = model_iso(x_model_red,res[1])*x_model_red**2
    merci encore

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    795
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 795
    Par défaut
    Parfait.

    J'avoue ne pas tout comprendre mais l'essentiel est que tu sois satisfait du résultat

    Merci de bien vouloir marquer le sujet comme résolut en utilisant le bouton dédié

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

Discussions similaires

  1. TypeError:'Nonetype' object is not iterable
    Par Mozard Yao dans le forum Odoo (ex-OpenERP)
    Réponses: 2
    Dernier message: 30/05/2014, 11h42
  2. TypeError: 'int' object is not iterable
    Par lewiss66 dans le forum Général Python
    Réponses: 2
    Dernier message: 18/10/2012, 16h37
  3. Erreur " 'int' object is not iterable"
    Par ti'chou dans le forum Général Python
    Réponses: 14
    Dernier message: 25/09/2012, 17h24
  4. TypeError: 'file' object is not callable
    Par MariemEA dans le forum Général Python
    Réponses: 7
    Dernier message: 09/07/2010, 21h57
  5. TypeError: 'int' object is not iterable
    Par manaliac dans le forum Général Python
    Réponses: 15
    Dernier message: 29/06/2010, 11h24

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