import bisect


def find_le(array, x):
    """Find rightmost value less than or equal to x.

    Example::

        >>> find_le([0, 1, 2, 3], 2.0)
        2

    **中文文档**

    寻找最大的小于等于x的数。
    """
    i = bisect.bisect_right(array, x)
    if i:
        return array[i - 1]
    raise ValueError