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 :

Probleme avec un float


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2017
    Messages : 27
    Points : 10
    Points
    10
    Par défaut Probleme avec un float
    Bonjour,

    Suite à une discussion ou on a resolut des problemes tkinter, j'arrive à un autre probleme qui est le suivant:

    Je recupères les données sous cette forme la cette liste s'appelant solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [' ', ' ', ' ', ' ', '10', '0', '0', '0']
    Je dis alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Recuperation = Solution [4]
    Par la suite j'aimerai réaliser l'opération suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Liste_1 = ["a","b"]
    Liste_2 = [100,200]
     
            for i in range (1,len(Liste_1)):
     
                Solution2 = Solution[4] * (Liste_2[i]/1000)
                fonction_arbitraire(Solution2, AutreDonnée, Exemple)
    cependant à l'avant dernière ligne, le programme ne fonctionne pas me disant que :

    TypeError: can't multiply sequence by non-int of type 'float'


    Comment corriger cette erreur ?

    Cordialement,
    Miserness

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 442
    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 442
    Points : 37 034
    Points
    37 034
    Par défaut
    Salut,

    Citation Envoyé par Miserness Voir le message
    Comment corriger cette erreur ?
    '10' est une chaîne de caractères. Python sait multiplier une chaîne de caractères (ou tout autre séquence) par un entier N: il la répétera N fois... Mais il s'interdit de généraliser çà à des flottants.
    Après c'est à vous de savoir ce que vous voulez, mais convertir une chaîne de caractères en nombre entier ou flottant est ce qu'on apprend dans tous les tutos. Par exemple lorsqu'on demande à l'utilisateur d'entrer un nombre.

    - W

  3. #3
    Membre éclairé
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Points : 704
    Points
    704
    Par défaut
    Bonjour,
    Pour compléter la réponse de wiztricks en gros si tu ne comprend pas la problème:
    "A" * 5 -> "AAAAA", "10" * 4 -> "10101010", mais "10" * 2.5 heu ... ? c'est comme demander à quelqu'un de dire 2 fois bonjour il dirait bonjour bonjour, mais demandez de dire 2.5x bonjour il risque de bégayer.

    le plus simple est de convertir le str en int directement à l'assignation de la variable Recuperation.
    cependant je te conseil de regarder les SpinBox (http://tkinter.fdex.eu/doc/spbw.html)

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2017
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    Bonsoir, j'ai remplacer mon Entry par SpinBox dans mon programme mais il me sort une valeur None.
    Comment faire pour regler ce problème ?

    Cordialement,
    Miserness

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 442
    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 442
    Points : 37 034
    Points
    37 034
    Par défaut
    Citation Envoyé par Miserness Voir le message
    Bonsoir, j'ai remplacer mon Entry par SpinBox dans mon programme mais il me sort une valeur None.
    Comment faire pour regler ce problème ?
    Je ne vois pas trop le rapport avec le "Problème avec un float" initial...
    Et de toutes façons si vous vous contentez de dire "çà ne marche pas" sans montrer ce que vous avez essayé de faire (un exemple minimal reproduisant le problème pas tout votre programme!!!) pas facile de vous aider.

    - W

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2017
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    Je suis venu ici quand vous m'avez dis de crée une autre discussion pasque je ne pensais pas que ca aurait des liens avec tkinter.

    Voilà ce que j'ai ecris:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     entry2 = Spinbox(form,from_=0, to=1000)
    Cordialement,
    Miserness

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 442
    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 442
    Points : 37 034
    Points
    37 034
    Par défaut
    Citation Envoyé par Miserness Voir le message
    Je suis venu ici quand vous m'avez dis de crée une autre discussion pasque je ne pensais pas que ca aurait des liens avec tkinter.
    Certes mais convertir une chaîne de caractère en un entier est un sujet, utiliser une Spinbox dans les widgets de saisie de votre Form est peut être une solution mais si vous rencontrez des problèmes pour le faire marcher, vous avez un nouveau problème et toujours pas résolu le problème initial.

    Citation Envoyé par Miserness Voir le message
    Voilà ce que j'ai ecris:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     entry2 = Spinbox(form,from_=0, to=1000)
    Lisez le code que vous avez récupéré: il ne sait que faire des Spinbox...
    Donc si vous ne l'avez pas modifié pour qu'il sache les traiter, çà ne va pas marcher.

    - W

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2017
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    Bonsoir,

    J'ai beau chercher, je ne comprend pas ou est l'erreur... POurriez-vous m'aider en me donnant la solution ?

    Cordialement,
    Miserness

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 442
    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 442
    Points : 37 034
    Points
    37 034
    Par défaut
    Citation Envoyé par Miserness Voir le message
    J'ai beau chercher, je ne comprend pas ou est l'erreur... POurriez-vous m'aider en me donnant la solution ?
    La solution de quel problème? Pour ce qui est du début de la discussion, je vous ai indiqué la page d'un tuto. - c'est une URL, il suffit de cliquer sur le mot exemple qui apparaît en bleu souligné dans le texte de la réponse -. Elle vous montre comment transformer une chaîne de caractères en entier.

    Pour ce qui est de la Spinbox, il n'y a pas d'erreur: le code que vous avez récupéré les ignore.

    - W

Discussions similaires

  1. Probleme avec les floats
    Par link thanos dans le forum Ada
    Réponses: 1
    Dernier message: 05/11/2011, 16h52
  2. [debutant] probleme avec un float:left
    Par Knightrider76 dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 10/07/2007, 10h59
  3. Probleme avec les float
    Par lemagicien dans le forum Installation
    Réponses: 2
    Dernier message: 24/09/2006, 17h42
  4. Problème avec float sous Mysql
    Par adgabd dans le forum Bases de données
    Réponses: 1
    Dernier message: 22/09/2006, 11h52
  5. Probleme avec un float sous FF
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/11/2005, 19h15

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