货币转换器不能将序列与“float”类型的nonint相乘

2024-05-19 01:36:55 发布

您现在位置: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 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”类型的非int相乘

正如我之前所说的,我对Python还不熟悉,不太了解如何解决这个问题。如果有人能就我的问题给我一个简单/解释的答案,我将不胜感激。你知道吗

谢谢大家的阅读,祝你们有一个美好的一天!你知道吗


Tags: to代码answernewinputifvalue货币
2条回答

输入返回字符串(字符序列)。您需要将字符串解析为数值。你知道吗

您可以尝试:

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

只要换一行:

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

对此:

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

出现错误的原因是input函数返回一个字符串。可以将字符串(或任何序列)与整数相乘,例如"foo" * 3计算结果为"foofoofoo"。但这显然不适用于浮点数,这不是你想要的。相反,您需要将字符串转换为一个数字,然后将其与convertor值相乘。你知道吗

相关问题 更多 >

    热门问题