Python 货币转换器-can';t将序列乘以类型为'的非整数;浮动';错误
一般来说,我对Python和编码都比较陌生,最近负责用Python设计货币转换器。我几乎完成了代码,但最后一行出现了一个问题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
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。