У меня есть эта функция

def remove_dollar(s):

Я хочу удалить пробел, знак $ из входного значения и преобразовать в float.Input значение может быть так

remove_dollar("12") == 12.0
remove_dollar("$123") == 123.0
remove_dollar("  $1234") == 1234.0
remove_dollar(" $42.3 ") == 42.3
-5
Dibbya 1 Май 2019 в 16:58

3 ответа

Лучший ответ

Попробуй это :

def remove_dollar(s):
    return float(s.replace('$','').replace(' ',''))
1
Arkistarvh Kltzuonstev 1 Май 2019 в 14:00

Использовать метод .strip() строк:

" $42.3 ".strip(" $")
>>>> '42.3'

Его аргумент - это строка, содержащая символы, которые вы хотите удалить из начала и конца вашей строки.

Затем вы можете преобразовать результат в число с плавающей точкой, используя float().

Итак, ваша функция должна быть:

def remove_dollar(s):
    return float(s.strip(" $"))
2
Ali Tou 1 Май 2019 в 14:16

Вы можете использовать str.strip() для удаления пробелов вокруг строки и str.replace() для замены $ пустым символом.

def remove_dollar(s):
    return float(s.strip().replace('$',''))

Тогда вывод будет

print(remove_dollar("12"))
print(remove_dollar("$123"))
print(remove_dollar("  $1234"))
print(remove_dollar(" $42.3 "))
#12.0
#123.0
#1234.0
#42.3
1
Devesh Kumar Singh 1 Май 2019 в 14:12