[PYTHON] 왜 내가 TypeError를 얻는가? 'float'타입이 아닌 int로 시퀀스를 곱할 수 없습니까?
PYTHON왜 내가 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은 문자열 (일련의 문자)을 반환합니다. 파이썬에서 문자열과 실수를 곱하면 정의 된 의미가 없습니다 (문자열과 정수를 곱하면 의미가 있습니다 : "AB"* 3은 "ABABAB"이고 "L"* 3.14는 얼마입니까? "LLL | "). 문자열을 숫자 값으로 파싱해야합니다.
raw_input은 문자열 (일련의 문자)을 반환합니다. 파이썬에서 문자열과 실수를 곱하면 정의 된 의미가 없습니다 (문자열과 정수를 곱하면 의미가 있습니다 : "AB"* 3은 "ABABAB"이고 "L"* 3.14는 얼마입니까? "LLL | "). 문자열을 숫자 값으로 파싱해야합니다.
다음과 같이해볼 수도 있습니다.
salesAmount = float(raw_input("Insert sale amount here\n"))
-
==============================
2.아마 이것은 다른 사람들을 미래에 도움이 될 것입니다 - 나는 float와 float리스트를 여러 개 만들려고 할 때 같은 오류가있었습니다. 문제는 실제로 목록에 * 연산자를 사용했기 때문에 모든 사람들이 여기에 플로트에 문자열을 곱하는 것에 대해 이야기했습니다 (하지만 여기서는 모든 요소가 모두 떠있었습니다).
아마 이것은 다른 사람들을 미래에 도움이 될 것입니다 - 나는 float와 float리스트를 여러 개 만들려고 할 때 같은 오류가있었습니다. 문제는 실제로 목록에 * 연산자를 사용했기 때문에 모든 사람들이 여기에 플로트에 문자열을 곱하는 것에 대해 이야기했습니다 (하지만 여기서는 모든 요소가 모두 떠있었습니다).
예 :
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'
해결책 - 목록을 수십 개의 배열로 변환합니다.
coff = np.asarray(coff) * C
-
==============================
3.문제는 salesAmount가 문자열로 설정된다는 것입니다. 파이썬 인터프리터에 변수를 입력하고 Enter 키를 누르면 입력 한 값이 따옴표로 묶여 표시됩니다. 예를 들어 56.95를 입력하면 다음과 같이 표시됩니다.
문제는 salesAmount가 문자열로 설정된다는 것입니다. 파이썬 인터프리터에 변수를 입력하고 Enter 키를 누르면 입력 한 값이 따옴표로 묶여 표시됩니다. 예를 들어 56.95를 입력하면 다음과 같이 표시됩니다.
>>> sales_amount = raw_input("[Insert sale amount]: ") [Insert sale amount]: 56.95 >>> sales_amount '56.95'
판매 세를 곱하기 전에 문자열을 부동 소수점으로 변환하려고합니다. 나는 당신이 알아낼 수 있도록 그 것을 남겨 둘 것입니다. 행운을 빕니다!
from https://stackoverflow.com/questions/485789/why-do-i-get-typeerror-cant-multiply-sequence-by-non-int-of-type-float by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 파이썬으로 셀렌 웹 드라이버로 텍스트를 얻는 법 (0) | 2018.10.14 |
---|---|
[PYTHON] 파이썬에서 통화 문자열을 부동 소수점 숫자로 변환하려면 어떻게해야합니까? (0) | 2018.10.14 |
[PYTHON] 파이썬 : HTTP 스트리밍으로 큰 파일 게시 (0) | 2018.10.13 |
[PYTHON] py2exe에서 실행 파일의 현재 디렉토리를 어떻게 얻을 수 있습니까? (0) | 2018.10.13 |
[PYTHON] 동사 / 명사 / 형용사간에 단어를 변환하십시오. (0) | 2018.10.13 |