«Округление по российским правилам»
По российский правилам числа округляются до ближайшего целого числа, а если дробная часть числа равна 0.5, то число округляется вверх.
Дано неотрицательное число x, округлите его по этим правилам. Обратите внимание, что функция round не годится для этой задачи!
"Российский правила округления"? Спасибо, повеселил. Округление положительных чисел к ближайшему целому ВСЕГДА округляет 0.5 вверх - независимо от того, какая страна является "родиной слонов". И потому утверждение, что round не годится, является ложью.
"Российский правила округления"? Спасибо, повеселил. Округление положительных чисел к ближайшему целому ВСЕГДА округляет 0.5 вверх - независимо от того, какая страна является "родиной слонов". И потому утверждение, что round не годится, является ложью.
как говориться читайте мат.часть
и так:
round(<число>[,кол-во знаков после запятой]) - для чисел с дробной частью меньше 0,5 возвращает число округленное до ближайшего меньшего целого, для чисел с дробной частью больше 0,5 возвращает число округленное до ближайшего большего целого, если дробная часть равна 0,5 то округление производиться до ближайшего ЧЕТНОГО числа
«Округление по российским правилам»
По российский правилам числа округляются до ближайшего целого числа, а если дробная часть числа равна 0.5, то число округляется вверх.
Дано неотрицательное число x, округлите его по этим правилам. Обратите внимание, что функция round не годится для этой задачи!
решение
x = float(input())
if x - int(x) == 0.5:
x += 0.1
print(round(x))
или
import math
a = float(input())
if math.ceil(a) - a <= 0.5:
print(math.ceil(a))
else:
print(math.ceil(a) -1)