TypeError: シーケンスを 'float' 型の非 int で乗算できませんというエラーが発生するのはなぜですか? [重複] 質問する

TypeError: シーケンスを 'float' 型の非 int で乗算できませんというエラーが発生するのはなぜですか? [重複] 質問する

入力によって売上額を取得し、定義済みの消費税 (0.08) を掛けて、合計額 (消費税 × 売上額) を印刷するように入力しています。

このエラーが発生しました。何が間違っているのか、または何か提案はありますか?

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'

ベストアンサー1

raw_input文字列 (文字のシーケンス) を返します。Python では、文字列と浮動小数点数を掛け合わせても意味は定義されません (文字列と整数を掛け合わせると意味があります:"AB" * 3は です"ABABAB"。 はいくらですか"L" * 3.14? と返信しないでください"LLL|")。文字列を解析して数値にする必要があります。

次のようなことを試してみてください:

salesAmount = float(raw_input("Insert sale amount here\n"))

おすすめ記事