Написать программу, которая определяет кол-во чисел в данном промежутке, единичный разряд которых равен 9

Промежуток - [10;1000). Нужно для олимпиады, не знаю, как посчитать все числа, оканчивающиеся на 9


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

Автор решения: n1tr0xs
result = [i for i in range(10,1000+1) if str(i)[-1]=='9']
count = len(result)
→ Ссылка
Автор решения: whizz169

в вашем диапазоне можно просто завести цикл от 19 до 999 включительно и считать кол-во итераций с шагом 10:

count = 0
for i in range(19, 1000, 10):
    count += 1

print(count)   #  99

ну или print(len([i for i in range(19, 1000, 10)]))

Или самый простой способ, это взять первое с конца вашего диапазона число, оканчивающееся на 9, и целочисленно разделить на 10

print(999 // 10)  #  99
→ Ссылка
Автор решения: Xander

Можно проще и за константное время:

print((999-19) // 10 + 1)
→ Ссылка