【发布时间】:2021-09-07 03:26:53
【问题描述】:
我正在尝试做一个货币转换器,但我不知道如何解决这个问题。 追溯:
Traceback (most recent call last):
File "C:/Users/jorge/AppData/Local/Programs/Python/Python39/conversor.py", line 11, in <module>
mult=inp*din
TypeError: can't multiply sequence by non-int of type 'float'
>>>
代码如下:
#currency converter
inp=float(input('Enter a value'))
din=float(input('Which one do you want to convert:eur/ars/mxn/pen/cop/brl'))
eur=float(0.84)
ars=float(97.94)
mxn=float(19.90)
pen=float(4.10)
cop=float(3.800)
brl=float(5.17)
mult=inp*din
print(mult, din)
【问题讨论】:
-
可以直接写成
eur = 0.84,为什么还要eur=float(0.84) -
您没有显示完整的代码。
sequence表示一个列表或类似元组的类型,它可以乘以一个整数,然后有效地复制所有元素N次并将其增长该因子。您正在尝试将列表或类似列表乘以浮点数,这是没有意义的。 -
我假设你实际上并没有在做
float(input('Wich one do you want to convert:eur/ars/mxn/pen/cop/brl')),因为这没有任何意义,在这种情况下你试图将一个字符串乘以一个浮点数,这又没有感觉。 -
如果你试图将字符串转换为浮点数,这没有意义
din=float(input('Wich one do you want to convert:eur/ars/mxn/pen/cop/brl')) -
那行也让我感到困惑。根据一个答案,我理解输入应该是像“eur”这样的字符串,但是
float有很大的误导性。
标签: python multiplication