Je tape pour obtenir un montant de vente (par entrée) à multiplier par une taxe de vente définie (0,08), puis je lui demande d'imprimer le montant total (taxe de vente multipliée par le montant de la vente).
Je rencontre cette erreur. Quelqu'un sait-il ce qui ne va pas ou a des suggestions?
salesAmount = raw_input (["Insert sale amount here \n"])
['Insert sale amount here \n']20.99
>>> salesTax = 0.08
>>> totalAmount = salesAmount * salesTax
Traceback (most recent call last):
File "<pyshell#57>", line 1, in <module>
totalAmount = salesAmount * salesTax
TypeError: can't multiply sequence by non-int of type 'float'
Peut-être que cela aidera d'autres personnes à l'avenir - j'ai eu la même erreur en essayant de multiplier un flotteur et une liste de flotteurs. Le fait est que tout le monde ici a parlé de multiplier un flottant par une chaîne (mais ici tous mes éléments étaient des flotteurs tout au long), donc le problème était en fait d'utiliser l'opérateur * sur une liste.
Par exemple:
L'erreur:
La solution - convertissez la liste en tableau numpy:
la source
coff = [i * c for i in coff]
Le problème est que salesAmount est défini sur une chaîne. Si vous entrez la variable dans l'interpréteur python et appuyez sur Entrée, vous verrez la valeur entrée entourée de guillemets. Par exemple, si vous avez entré 56,95, vous verrez:
Vous voudrez convertir la chaîne en un flottant avant de la multiplier par la taxe de vente. Je vous laisse le soin de comprendre. Bonne chance!
la source
Vous ne pouvez pas multiplier la chaîne et le float.au lieu d'essayer comme ci-dessous, cela fonctionne bien
la source