В чём разница между trunc() и floor() в Python?

Подскажите пожалуйста, в чём разница между методами trunc() и floor()? И что делает метод ceil()?

Решил проверить результат следующих выражений получился идентичным:

import math
number = 10.5

print('trunc() function result: ', math.trunc(number))
print('floor() function result: ', math.floor(number))

trunc() function result:  10
floor() function result:  10
Press any key to continue . . .

Почему результаты одинаковые? Эти методы, выходит, выполняют одно и то же, или я что-то не так написал?

Не тот пример написал. С положительными числами эти 2 метода действительно будут давать один и тот же результат, но ты попробуй, например, написать там отрицательное число:

import math
number = -10.5

print('trunc() function result: ', math.trunc(number))
print('floor() function result: ', math.floor(number))

Вот и результат здесь оплучится немного другой:

trunc() function result:  -10
floor() function result:  -11
Press any key to continue . . .

А всё потому, что метод trunc() по сути просто отбрасывает знаки после запятой, а floor() возвращает тебе наименьшее приближённое целое число.

import math
number = -10.5

print('trunc() function result: ', math.trunc(number))
print('floor() function result: ', math.floor(number))
print("_____________________________________")
print('ceil() function result: ',math.ceil(number))

trunc() function result:  -10
floor() function result:  -11
_____________________________________
ceil() function result:  -10
Press any key to continue . . .

И ещё разок, на примере целого числа:

import math
number = 10.5

print('trunc() function result: ', math.trunc(number))
print('floor() function result: ', math.floor(number))
print("_____________________________________")
print('ceil() function result: ',math.ceil(number))

trunc() function result:  10
floor() function result:  10
_____________________________________
ceil() function result:  11
Press any key to continue . . .

Как видишь, метод ceil() возвращает нам наибольшее максимально приближённое целое число.