獲取一個類型錯誤的非INT乘以序列:無法由型float'error的」非INT乘以序列。任何幫助讚賞。類型錯誤:不能由類型「浮動」 3.0
userEuro = raw_input("What amount in Euro do you wish to convert?")
USD = userEuro * 1.3667
獲取一個類型錯誤的非INT乘以序列:無法由型float'error的」非INT乘以序列。任何幫助讚賞。類型錯誤:不能由類型「浮動」 3.0
userEuro = raw_input("What amount in Euro do you wish to convert?")
USD = userEuro * 1.3667
userEuro
是一個字符串。您應該使用float(raw_input())
將其轉換爲浮點數。
FYI,字符串可以相乘,而是僅由一個整數。這導致在一個字符串連接:
print 'a' * 2
>> 'aa
更改第二行:
USD = float(userEuro) * 1.3667
的raw_input接受用戶輸入作爲String
。 在執行上述數學運算之前,您需要將其轉換爲浮點數。
哪個用戶在輸入raw_input()
返回值的string
所以userEuro
變量的類型爲字符串,您可以通過type()
方法檢查
>>> userEuro = raw_input("What amount in Euro do you wish to convert?")
What amount in Euro do you wish to convert?1.2
>>> type(userEuro)
<type 'str'>
>>> userEuro
'1.2'
做型鑄造從字符串轉換浮。
>>> float(userEuro)
1.2
>>>
做異常類型的鑄造過程中的處理,因爲用戶可以輸入錯誤的值作爲輸入。
>>> userEuro = raw_input("What amount in Euro do you wish to convert?")
What amount in Euro do you wish to convert?ab
>>> userEuro
'ab'
>>> float(userEuro)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: could not convert string to float: ab
>>> try:
... float(userEuro)
... except ValueError:
... print "Wrong value for type casting: ", userEuro
...
Wrong value for type casting: ab
>>>
什麼是TypeError: can't multiply sequence by non-int of type 'float'
例外:
當我們通過浮點值乘以字符串,則該異常來。
>>> "1.2" * 1.3667
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can't multiply sequence by non-int of type 'float'
字符串是多個由整數值
>>> "test" * 2
'testtest'
但是字符串不多個由整數或浮點值
>>> "test" * '2'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can't multiply sequence by non-int of type 'str'
>>>
的Python 3.X
raw_input()
方法是從Python 3.x的除去,
raw_input()
用於Python 2.x的
input()
用於Python 3.x的