我对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