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

Barou_0442 Messages postés 4 Statut Membre -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je viens juste de commencer l'apprentissage de Python.

Je ne parviens pas à exécuter mon premier programme

#coding: utf8
l=input ("Entrez la largeur: ")
h=input ("Entrez la hauteur: ")
p=input ("Entrez la profondeur: ")
print ("Volume du parallélépipède = ", +str(l*h*p))

Entrez la largeur:  7
Entrez la hauteur:  4
Entrez la profondeur:  8


TypeError Traceback (most recent call last)
<ipython-input-13-b2088dbac31b> in <module>
2 h=input ("Entrez la hauteur: ")
3 p=input ("Entrez la profondeur: ")
----> 4 print ("Volume du parallélépipède = ", +str(l*h*p))

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

Un coup de main SVP.

2 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour,
    la fonction input retourne une séquence de caractères.
    tu peux utiliser les fonctions int() ou float() pour obtenir un entier ou un réel à partir d'une chaine de caractères.
    0
    1. Barou_0442 Messages postés 4 Statut Membre
       
      Merci.
      Mais je ne parviens toujours pas à faire fonctionner même avec ces deux fonctions.
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Barou_0442 Messages postés 4 Statut Membre
         
        comment les as-tu utilisées?
        0
      2. Barou_0442 Messages postés 4 Statut Membre > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        l=int("Entrez la largeur: ")
        h=int("Entrez la hauteur: ")
        p=int("Entrez la profondeur: ")
        print("Volume du parallélépipède = " +float(l*h*p))
        0
  2. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    Bonjour,

    La fonction permettant de saisir une valeur est input()
    Pourquoi l'avoir enlevée ?

    Il faut faire une saisie et la convertir en float: l=float(input(........))
    0
    1. Barou_0442 Messages postés 4 Statut Membre
       
      Merci beaucoup.
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Barou_0442 Messages postés 4 Statut Membre
         
        Peux-tu alors marquer la discussion comme résolue?
        0