print(900 - 9 * 9 * 8)
Но если хочется говнокодить циклом, то: print(sum(len(set(str(i))) < 3 for i in range(100, 1000)))
Если какие-либо цифры трёхзначного числа совпадают, то длина множества цифр этого числа меньше 3. k = 0
for i in range(100, 1000):
j = i
cifras = []
while j:
cifra = j % 10
cifras.append(cifra)
if cifras.count(cifra) == 2:
k += 1
break
j //= 10
print(k)
Тогда 252 числа. А если ровно 2 одинаковых цифры, тогда просто из 252 вычитаем 9 и получаем 243. count = 0
for i in range(100, 1000):
num = str(i)
if num[0] == num[1] or num[0] == num[2] or num[1] == num[2]:
count += 1
print(count)
В этом коде мы перебираем все числа от 100 до 999, преобразуем каждое число в строку и проверяем, есть ли в ней хотя бы две одинаковые цифры. Если такие цифры есть, увеличиваем счетчик на 1. В конце выводим полученное количество чисел.