Saya mengetik untuk mendapatkan jumlah penjualan (dengan input) untuk dikalikan dengan pajak penjualan yang ditentukan (0,08) dan kemudian mencetak jumlah total (pajak penjualan dikalikan jumlah penjualan).
Saya mengalami kesalahan ini. Adakah yang tahu apa yang mungkin salah atau punya saran?
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'
Mungkin ini akan membantu orang lain di masa mendatang - Saya mengalami kesalahan yang sama saat mencoba menggandakan pelampung dan daftar pelampung. Masalahnya adalah semua orang di sini berbicara tentang mengalikan pelampung dengan string (tetapi di sini semua elemen saya mengambang selama ini) jadi masalahnya sebenarnya menggunakan operator * pada daftar.
Sebagai contoh:
import math import numpy as np alpha = 0.2 beta=1-alpha C = (-math.log(1-beta))/alpha coff = [0.0,0.01,0.0,0.35,0.98,0.001,0.0] coff *= C
Kesalahannya:
coff *= C TypeError: can't multiply sequence by non-int of type 'float'
Solusinya - ubah daftar menjadi array numpy:
sumber
coff = [i * c for i in coff]
Masalahnya adalah salesAmount disetel ke string. Jika Anda memasukkan variabel di interpreter python dan menekan enter, Anda akan melihat nilai yang dimasukkan dikelilingi oleh tanda kutip. Misalnya, jika Anda memasukkan 56,95, Anda akan melihat:
>>> sales_amount = raw_input("[Insert sale amount]: ") [Insert sale amount]: 56.95 >>> sales_amount '56.95'
Anda ingin mengubah string menjadi float sebelum mengalikannya dengan pajak penjualan. Saya akan meninggalkan itu untuk Anda pikirkan. Semoga berhasil!
sumber
Anda tidak dapat mengalikan string dan float. Alih-alih Anda mencoba seperti di bawah ini. Itu berfungsi dengan baik
sumber