human
I wrote the below code

    def rnd(number, divisor):
        return localised_number((float(((number * 10) / divisor)) / 10))
    if (number < 1000):
        return _('{n}').format(n=localised_number(number))
    elif (number < (1000 ** 2)):
        return _('{k}k').format(k=rnd(number, 1000))
    elif (number < (1000 ** 3)):
        return _('{m}M').format(m=rnd(number, (1000 ** 2)))
    elif (number < (1000 ** 4)):
        return _('{g}G').format(g=rnd(number, (1000 ** 3)))
    elif (number < (1000 ** 5)):
        return _('{t}T').format(t=rnd(number, (1000 ** 4)))
    elif (number < (1000 ** 6)):
        return _('{p}P').format(p=rnd(number, (1000 ** 5)))
    elif (number < (1000 ** 7)):
        return _('{e}E').format(e=rnd(number, (1000 ** 6)))
    elif (number < (1000 ** 8)):
        return _('{z}Z').format(z=rnd(number, (1000 ** 7)))
    else:
        return _('{y}Y').format(y=rnd(number, (1000 ** 8)))

What's a good function header?
 ... Here's a good function header?
assistant
#Here's a good function header.

def localised_SI_number(number):