我對Python很陌生,我想知道如何解決這個問題。我正在嘗試爲我的計算課程的學校項目製作貨幣轉換器,但是我收到錯誤消息。Python獲取類型錯誤
下面的代碼:
## Currency conversion calculator Mk.2 ##
# USD, JPY, EUR
GBP = ["1.66","169.14","1.21"]
# GBP, JPY, EUR
USD = ["0.60","102.20","0.73"]
# GBP, USD, EUR
JPY = ["0.0059","0.0098","0.0072"]
# GBP, USD, JPY
EUR = ["0.82","1.36","139.70"]
# Inputs and outputs
user_input = -1
output = -1
while True:
print("")
print("----------------------------------------------------")
print("Example: 14 GBP to USD")
print("")
user_input = input("How much would you like to convert? ")
user_input = user_input.split()
if user_input[1] == "GBP":
if user_input[3] == "USD":
output = user_input[3] * USD[0]
print(output)
elif user_input[3] == "JPY":
print("Filler text")
elif user_input[3] == "EUR":
print("Filler text")
elif user_input[1] == "USD":
if user_input[3] == "GBP":
print("Filler text")
elif user_input[3] == "JPY":
print("Filler text")
elif user_input[3] == "EUR":
print("Filler text")
elif user_input[1] == "JPY":
if user_input[3] == "GBP":
print("Filler text")
elif user_input[3] == "USD":
print("Filler text")
elif user_input[3] == "EUR":
print("Filler text")
elif user_input[1] == "EUR":
if user_input[3] == "GBP":
print("Filler text")
elif user_input[3] == "USD":
print("Filler text")
elif user_input[3] == "JPY":
print("Filler text")
else:
print("Please input it as something like '15 GBP to USD' remembering capitals!")
這是我得到的錯誤:
Traceback (most recent call last):
File "C:\Users\Kieran\Desktop\converter.py", line 27, in <module>
output = user_input[3] * USD[0]
TypeError: can't multiply sequence by non-int of type 'str'
我順便說一下我關於Python 3.3.3。
非常感謝!
你有什麼預期的輸入和輸出? – thegrinner
爲什麼你使用字符串作爲數字值?使用浮點數或小數類型。 – geoffspear
你爲什麼要在輸入中調用'split'?你期望用戶輸入什麼? – IanAuld