У меня есть следующий код.
Реализация функции nearX, которая округляет число до ближайшего числа, которое делится на X. Например, если 13 округляется до ближайшего 5, оно округляется до 15. Если число находится точно между двумя возможными числами , он должен быть округлен в большую сторону.
def nearestX(num, x):
if x == 0:
return num
remainder = abs(num % x)
print(remainder)
if remainder == 0:
return num
if num < 0:
return -(abs(num) - remainder)
else:
return num + x - remainder
Но он не работает, например, для nearest(12,5)
, который должен дать 10
, так как это ближе, чем 15
, но вместо этого он возвращает 15.