redondear el flotador al 0.5 más cercano en python

Estoy tratando de redondear los dígitos flotantes al 0.5 más cercano

Por ejemplo.

1.3 -> 1.5 2.6 -> 2.5 3.0 -> 3.0 4.1 -> 4.0 

Esto es lo que estoy haciendo

 def round_of_rating(number): return round((number * 2) / 2) 

Esto redondea los números al entero más cercano. ¿Cuál sería la forma correcta de hacer esto?

Intente cambiar la posición del paréntesis para que el redondeo ocurra antes de la división en 2

 def round_of_rating(number): """Round a number to the closest half integer. >>> round_of_rating(1.3) 1.5 >>> round_of_rating(2.6) 2.5 >>> round_of_rating(3.0) 3.0 >>> round_of_rating(4.1) 4.0""" return round(number * 2) / 2 

Editar: Agregado un doctest capaz docstring:

 >>> import doctest >>> doctest.testmod() TestResults(failed=0, attempted=4)