Найти - Пользователи
Полная версия: Округление в большую сторону
Начало » Python для новичков » Округление в большую сторону
1 2
odnochlen
>>> round(42.001 + .45)
42.0
py.user.next
а что должно быть, 43 ?
PooH
py.user.next
а что должно быть, 43 ?
У библиотечной ceil вообще, все что больше 42 округляется вверх
In [1]: from math import ceil
In [2]: ceil(42.0769230769)
Out[2]: 43.0
In [3]: ceil(42.001)
Out[3]: 43.0
py.user.next
PooH
У библиотечной ceil вообще, все что больше 42 округляется вверх
это-то понятно, мне просто показалось, что автору надо по семёрке округлять (по сотым)

если именно ceil() надо, то пускай ceil() будет, конечно

>>> a = 42.0769230769
>>> a = float(int(a + (a > int(a))))
>>> a
43.0
>>>
Seganapa
py.user.next
>>> a = 42.0769230769
>>> a = float(int(a + (a > int(a))))
>>> a
43.0
Хитрый способ! Спасибо!
FishHook
def round_in_bigger(val):
    return sum((lambda x: (int(x[0]), bool(int((x[1]))))) (str(float(val)).split('.')))
for i in [21.1, 34, 56.07, 89.99]:
    print round_in_bigger(i)
py.user.next
Seganapa
Хитрый способ!
ну, math.ceil() быстрее, так как они (функции из math) скомпилированы
odnochlen
py.user.next
ну, math.ceil() быстрее, так как они (функции из math) скомпилированы
И главное - гораздо очевиднее.

FishHook
((lambda x: (int(x[0]), bool(int((x[1]))))) (str(float(val)).split('.')))
Это же лисп!
FishHook
odnochlen
Это же лисп!
Это типа как приглашение участвовать в конкурсе на самую идиотскую реализацию ceil и первый номинант.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB