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 :

Value Error incompréhensible


Sujet :

Python

  1. #1
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2018
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2018
    Messages : 180
    Par défaut Value Error incompréhensible
    Bonjour à tous,

    Je rencontre une "value error" que je ne comprend pas ... Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    liste = []
    NbrSupCent = []
     
    reponse = None
     
    while reponse != "":
    	reponse = int(input("Nombre = "))
    	liste.append(reponse)
     
    	if reponse > 100:
    		NbrSupCent(reponse)
    Et voici l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Traceback (most recent call last):
      File "Les boucles.py", line 7, in <module>
        reponse = int(input("Nombre = "))
    ValueError: invalid literal for int() with base 10: ''
    Merci à vous

  2. #2
    Membre émérite

    Homme Profil pro
    linux, pascal, HTML
    Inscrit en
    Mars 2002
    Messages
    649
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : linux, pascal, HTML
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2002
    Messages : 649
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while reponse != "":
    	reponse = int(input("Nombre = "))
    Il y a quelque chose qui me gène dans ces deux lignes.
    reponse est comparé à une chaîne vide mais est défini comme un entier donc ???
    Mais peut-être que ma faible connaissance de python ne me permet pas de juger valablement

  3. #3
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2018
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2018
    Messages : 180
    Par défaut
    En effet, je pense que c'est ça le soucis. Je voulais simplement sortir de la boucle while en laissant "Nombre = " vide.... Je ne sais pas vraiment comment y remédier

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

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    un nombre vide ça n'a aucun sens, un nombre nul à la limite c'est 0.

    il faut décomposer:
    je rentre une chaine
    si ma chaine n'est pas vide alors je la convertie en entier
    sinon je ne fait rien

  5. #5
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Lorsque tu réponds à "Nombre =" tu as tapé autre chose qu'un digit. Enter ou un caractère alphabétique donc la conversion en entier se plante.

    Comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        try:
            reponse = int(input("Nombre = "))
        except:
            continue
    Éventuellement, tu print un message pour faire comprendre qu'il faut entrer un digit.

  6. #6
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 064
    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 : 4 064
    Par défaut
    Bonsoir,

    Après il y aura le problème de la variable NbrSupCent qui n'est pas une fonction, donc pas appelable comme indiqué dans le code ligne 12.

Discussions similaires

  1. null or transient value error
    Par natoine dans le forum Hibernate
    Réponses: 6
    Dernier message: 16/04/2010, 12h15
  2. switch parse error incompréhensible
    Par wjc dans le forum Langage
    Réponses: 2
    Dernier message: 13/02/2010, 16h55
  3. Syntax error incompréhensible dans script shell!
    Par Sakesannin dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 22/01/2010, 18h41
  4. 'numeric or value error: number precision too large'
    Par sami117 dans le forum PL/SQL
    Réponses: 1
    Dernier message: 12/01/2009, 15h57
  5. Linker Error incompréhensible.
    Par devroot dans le forum C++Builder
    Réponses: 2
    Dernier message: 31/08/2007, 18h20

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