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

Barou_0442 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 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

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
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
Barou_0442 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci.
Mais je ne parviens toujours pas à faire fonctionner même avec ces deux fonctions.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Barou_0442 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
comment les as-tu utilisées?
0
Barou_0442 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23541 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
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
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
Barou_0442 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Barou_0442 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Peux-tu alors marquer la discussion comme résolue?
0