TypeError가 표시되는 이유: 시퀀스를 'float' 유형이 아닌 형식으로 곱할 수 없습니까?
판매 금액에 정의된 판매세(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'
raw_input
문자열(문자열)을 반환합니다.파이썬에서 문자열과 플로트를 곱하는 것은 정의된 의미가 없습니다."AB" * 3
이라"ABABAB"
얼마입니까?"L" * 3.14
회신하지 마십시오."LLL|"
) 문자열을 숫자 값으로 구문 분석해야 합니다.
시도해 볼 수도 있습니다.
salesAmount = float(raw_input("Insert sale amount here\n"))
아마도 이것은 미래에 다른 사람들에게 도움이 될 것입니다. 저는 플로트와 플로트 목록을 곱하는 동안 같은 오류가 발생했습니다.문제는 여기 있는 모든 사람들이 플로트에 문자열을 곱하는 것에 대해 이야기했기 때문에 문제는 실제로 목록에서 * 연산자를 사용하는 것이었습니다.
예:
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
오류:
coff *= C
TypeError: can't multiply sequence by non-int of type 'float'
솔루션 - 목록을 numpy 배열로 변환합니다.
coff = np.asarray(coff) * C
문제는 salesAccount가 문자열로 설정되어 있다는 것입니다.python interpreter에 변수를 입력하고 Enter 키를 누르면 입력한 값이 따옴표로 둘러싸여 표시됩니다.예를 들어 56.95를 입력하면 다음과 같이 나타납니다.
>>> sales_amount = raw_input("[Insert sale amount]: ")
[Insert sale amount]: 56.95
>>> sales_amount
'56.95'
판매세를 곱하기 전에 문자열을 플로트로 변환할 수 있습니다.당신이 알아낼 수 있도록 그것을 남겨두겠습니다.행운을 빕니다.
문자열과 float을 곱할 수 없습니다. below.it 이 잘 작동하는 것처럼 시도해 보십시오.
totalAmount = salesAmount * float(salesTax)
언급URL : https://stackoverflow.com/questions/485789/why-do-i-get-typeerror-cant-multiply-sequence-by-non-int-of-type-float
'programing' 카테고리의 다른 글
Application_Start 내에서 현재 애플리케이션 물리적 경로 가져오기 (0) | 2023.08.16 |
---|---|
div 요소 내의 텍스트를 대체하려면 어떻게 해야 합니까? (0) | 2023.08.16 |
C/C++ 구조물 간격띄우기 (0) | 2023.08.16 |
Azure 리소스 그룹이 있는지 확인 - Azure Powershell (0) | 2023.08.16 |
Mysql과 MariaDB 커넥터 간의 호환성을 확인하는 방법 (0) | 2023.08.16 |