@anya_hacker

Как вывести числа с двумя знаками после запятой?

Программа должна вывести числа, у которых всего два числа после запятой.

На данный момент программа сокращает количество цифр после запятой до двух и выводит числа.

Но как не изменять числа, а лишь "отфильтровать" и вывести необходимые числа?
text = '234.54, 4.85, 2.123'
match = re.findall("[0-9]+[.]\d{2}", text)
print(match)


Вывод: ['234.54', '4.85', '2.12'], а должен быть ['234.54', '4.85']
  • Вопрос задан
  • 259 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Регулярные выражения
re.findall(r'\d+\.\d{2}(?!\d)', text)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@alexbprofit
Junior SE
text = '234.54, 4.85, 2.123'
y = text.split(", ")

def after_decimals(string):
  x = 0
  cond = False
  for el in string:
    if el == '.':
      cond = True
    
    elif cond:
      x += 1
  return x

result = [el for el in y if after_decimals(el) == 2]

print(result) # ['234.54', '4.85']
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы