【发布时间】:2021-06-02 11:45:57
【问题描述】:
我只需要在 ['10$', 'sock', '12.55$', 'pizza11'] 中返回包含数字+美元的字符串的总值,例如 '12.55$'。例如,此列表应返回 22.55$(带有美元符号)。
所有其他字符串都没有值。我创建了一个函数 isnumber:
def isnumber(string):
try:
float(string)
except:
return False
return True
还有这个,但它不起作用:
def value_liste(liste):
amount = 0
if liste == []:
return 0.0
for string in liste:
if isnumber(string) == True and string[-1:] == '$':
amount += float("".join(d for d in string if d.isdigit()))
return amount
【问题讨论】:
-
isnumber并没有真正做到你认为的那样(提示:'$'不能转换为float)
标签: python string price shop dollar-sign