Как найти кол-во чисел в заданном диапазоне, у которых все цифры разные?

найти кол-во чисел в заданном диапазоне, у которых все цифры разные(не считая границу) Например: диапазон(20:33) ==> все числа кроме 22 и того получим 11 чисел Числа до 1000 получается посчитать, но если число больше, то возникают проблемы. диапазон(5000:50000) ==> ???

Код для 1000:

    # диапазон от 0 до 1000
if finish >= 1000 and finish < 10000:
    while finish > start:
        d = finish
        if  d % 10 != d//100 and d %10 != d//10 % 10 and d//10 % 10 != d//100 and d%10 != 0 :
            s3 += 1
            print(d)
        finish = finish - 1
    s3 = s3 + 90

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

Автор решения: Zhihar

чтобы понять, что все цифры у числа разные можно получить множество цифр (по сути это уникальные цифры) и сравнить с кол-вом цифр

например так:

len(set(map(int, str(value)))) == len(str(value))
→ Ссылка