Python 货币转换器-can';t将序列乘以类型为'的非整数;浮动';错误

Python 货币转换器-can';t将序列乘以类型为'的非整数;浮动';错误,python,Python,一般来说,我对Python和编码都比较陌生,最近负责用Python设计货币转换器。我几乎完成了代码,但最后一行出现了一个问题 currenctcurrency = input ("Select a starting currency: ") print ('You selected %s' %currentcurrency) value = input ("Input your current value: ") new currency = input ("Select a new cur

一般来说,我对Python和编码都比较陌生,最近负责用Python设计货币转换器。我几乎完成了代码,但最后一行出现了一个问题

currenctcurrency = input ("Select a starting currency: ")
print ('You selected %s' %currentcurrency)

value = input ("Input your current value: ")

new currency = input ("Select a new currency: ") 
if currentcurrency == 'Pound' and newcurrency == 'Pound':
    convertor = 1
代码的上述部分对四种受支持货币(英镑、欧元、美元和日元)的每种组合重复

rint ("Do you want to convert", (value), (currentcurrency), "to", (newcurrency), "?")
answer = input ("Yes/No: ") 
if answer == 'No':
    quit(1) 
if answer == 'Yes':
    result = (convertor) * (value)
    print (result) 
当我运行代码时,输入成功运行,但当它试图将两个变量相乘时,我得到一个错误,其内容如下: TypeError:无法将序列与“float”类型的非整数相乘。

正如我前面所说的,我是Python新手,不太明白需要做些什么来解决这个问题。如果有人能就我的问题给我一个简单/解释的答案,我将不胜感激

谢谢大家的阅读,祝你们度过愉快的一天

只需更改这一行:

value = input ("Input your current value: ")
为此:

value = float(input("Input your current value: "))

出现错误的原因是
input
函数返回字符串。您可以将字符串(或任何序列)与整数相乘,例如
“foo”*3
的计算结果为
“foooo”
。但这显然不适用于浮点数,而且这不是您想要的。相反,您希望将字符串转换为一个数字,然后将其与
转换器的值相乘。

输入返回一个字符串(一个字符序列)。您需要将字符串解析为数值

您可能要尝试:

value = float(input("Input your current value: "))

value
是一个字符串,请确保先将其转换为float或int。