Ich tippe, um einen Verkaufsbetrag (durch Eingabe) mit einer definierten Umsatzsteuer (0,08) zu multiplizieren und dann den Gesamtbetrag (Umsatzsteuer mal Verkaufsbetrag) drucken zu lassen.
Ich stoße auf diesen Fehler. Weiß jemand was falsch sein könnte oder hat er irgendwelche Vorschläge?
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'
Vielleicht hilft dies anderen in Zukunft - ich hatte den gleichen Fehler beim Versuch, einen Float und eine Liste von Floats zu multiplizieren. Die Sache ist, dass alle hier darüber sprachen, einen Float mit einem String zu multiplizieren (aber hier waren alle meine Elemente Floats die ganze Zeit), so dass das Problem tatsächlich darin bestand, den Operator * in einer Liste zu verwenden.
Beispielsweise:
Der Fehler:
Die Lösung - Konvertieren Sie die Liste in ein Numpy-Array:
quelle
coff = [i * c for i in coff]
Das Problem ist, dass salesAmount auf eine Zeichenfolge festgelegt wird. Wenn Sie die Variable in den Python-Interpreter eingeben und die Eingabetaste drücken, wird der eingegebene Wert in Anführungszeichen gesetzt. Wenn Sie beispielsweise 56,95 eingegeben haben, wird Folgendes angezeigt:
Sie sollten den String in einen Float umwandeln, bevor Sie ihn mit der Umsatzsteuer multiplizieren. Ich überlasse es Ihnen, das herauszufinden. Viel Glück!
quelle
Sie können string und float nicht multiplizieren. Stattdessen versuchen Sie es wie folgt. Es funktioniert einwandfrei
quelle