Как оставить два знака после запятой у всех выводимых ответов одним разом?
подскажите, как оставить только два знака после запятой у всех выводимых ответов функции? Например в этом.
import math as m
x = int(input('x: '))
def kvadrat():
d = x * m.sqrt(2)
p = x * 4
s = (1 / 2) * d ** 2
return (d, p, s,)
print(kvadrat())
Округлять каждое значение отдельно считаю тратой времени, буду благодарен каждому за Вашу посильную помощь.
Ответы (4 шт):
Автор решения: Tehnorobot
→ Ссылка
Попробуйте так:
return tuple(map(lambda x: round(x, 2), (d, p, s)))
Каждое значение из кортежа округляется и обратно возвращается в кортеж. Хотя, мне кажется, проще каждое округлить.
Автор решения: Klef
→ Ссылка
Возможно это поможет.
return tuple(map(lambda x: round(x, 2), (d, p, s)))
Пример вывода при x = 5:
(7.07, 20, 25.0)
Автор решения: jamyan
→ Ссылка
Еще можно сделать с проверкой на принадлежность типу float.
return tuple([round(i, 2) if isinstance(i, float) else i for i in (d, p, s)])
Можно применить форматирование (здесь все будет с двумя знаками после запятой).
return tuple(['%.2f' % i for i in (d, p, s)])