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 :

problème avec input() [Python 3.X]


Sujet :

Python

  1. #1
    Membre régulier
    Inscrit en
    juillet 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : juillet 2006
    Messages : 219
    Points : 76
    Points
    76
    Par défaut problème avec input()
    Bonjour à tous,
    Je débute en python et voulais écrire un programme qui résolve une équation du 2nd degré en introduisant les coefficients a, b et c du trinôme dont on cherche les racines:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    import math
    a=input('Donner a:')
    b=input('Donner b:')
    c=input('Donner c:')
    delta=b*b-4*a*c
    if delta>=0:
    	print('x1='+str((-b-math.sqrt(delta))/2*a))
    	print('x2='+str((-b+math.sqrt(delta))/2*a))
    else:
    	print('pas de solution')]
    A l'exécution j'obtiens:
    Donner a:1
    Donner b:-5
    Donner a:6
    Traceback (most recent call last):
    File "secondd.py", line 5, in <module>
    delta=b*b-4*a*c
    TypeError: can't multiply sequence by non-int of type 'str'

    A votre avis pourquoi il ne veut pas calculer delta?

    Merci infiniment

  2. #2
    Membre averti
    Homme Profil pro
    occupé
    Inscrit en
    juin 2018
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : occupé

    Informations forums :
    Inscription : juin 2018
    Messages : 231
    Points : 332
    Points
    332
    Par défaut
    Bonjour,
    L'exception est explicite :input() est de type str: TypeError: can't multiply sequence by non-int of type 'str'
    a, b, c sont des str que tu dois convertir en objet int avant de les utiliser dans tes calculs.
    Soit:

  3. #3
    Membre régulier
    Inscrit en
    juillet 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : juillet 2006
    Messages : 219
    Points : 76
    Points
    76
    Par défaut
    Bonjour,
    Merci infiniment Hominidé. J'ai fait exactement comme tu as dit et ça marche.
    J'ai aussi extrapolé à float et ça marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    import math
    a=float(input('Donner a:'))
    b=float(input('Donner b:'))
    c=float(input('Donner c:'))
    delta=b*b-4*a*c
    if delta>=0:
    	print('x1='+str((-b-math.sqrt(delta))/2*a))
    	print('x2='+str((-b+math.sqrt(delta))/2*a))
    else:
    	print('pas de solution')
    Merci infiniment encore une fois.
    Je marque donc en Résolu Juste après le post.

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

Discussions similaires

  1. Problème avec input control
    Par fred33 dans le forum Jasperserver
    Réponses: 3
    Dernier message: 27/10/2010, 15h19
  2. problème avec input file
    Par sky88 dans le forum ASP.NET
    Réponses: 8
    Dernier message: 04/01/2010, 14h54
  3. problème avec input
    Par inès83 dans le forum Images
    Réponses: 5
    Dernier message: 02/12/2009, 13h24
  4. problème avec <input="reset"/>
    Par Dakuan dans le forum Langage
    Réponses: 6
    Dernier message: 17/06/2008, 12h39
  5. [Conception] Problème avec input type="text"
    Par adrix26 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 02/03/2007, 11h52

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