Búsqueda de diccionario personalizado en Python

si tengo un diccionario como este

>>> d = {10: 3, 100: 2, 1000: 1}

Puedo escribir algo como:

>>> d.get(10), d.get(100), d.get(1000)
(3, 2, 1)

Aunque quiero que si no se encuentra la clave dada, se devuelve el valor correspondiente a la clave más cercana respecto de la clave dada:

>>> d.get(20), d.get(60), d.get(200)
(3, 2, 2)

En cambio, el resultado en Python es

(None, None, None)

¿Cuál es una forma pitónica de implementar el comportamiento que describí?

Gracia

Respuestas a la pregunta(3)

Su respuesta a la pregunta