Сумма цифр шестнадцатеричного числа

Найти однозначное число которое получается вычислением суммы цифр шестнадцатеричного числа(беззнаковое) n (повторно).

Пример:

40820A2 -> 4 + 0 + 8 + 2 + 0 + A + 2 = 1A;
1A -> 1 + A = B

Т.е. происходит преобразование

40820A2 -> B

Ответы (2 шт):

Автор решения: MaxU
def fun(num):
    return num if len(num) < 2 else fun(hex(sum(int(c, 16) for c in num))[2:])

тесты:

In [125]: fun("40820A2")
Out[125]: 'b'

In [126]: fun("1234ae678d9f")
Out[126]: '2'
→ Ссылка
Автор решения: Harry

Ы?

print(hex(int(input(),16)%15))

С учетом замечания @Danis

r = int(input(),16)%15 
print(hex(r if r > 0 else 15))

Да, еще если исходное значение 0 - то 0...

→ Ссылка