LittlePrince
@LittlePrince

Не получается вывести число, как это можно исправить?

Добрый день, пытаюсь решить задание на степике: https://stepik.org/lesson/265120/step/10?discussio...
Не получается вывести число "51" в тесте 7, где
Входные данные:
m = 1
n = 51
Сам код:
m = int(input())
n = int(input())
for i in range (m, n ):
    if i % 17 == 0:
        print(i)
    if i //1 % 10 == 9:
        print(i)
    if i % 3 == 0 and i % 5 == 0:
        print(i) 
if m == n:
    print(m)

Я не понимаю, почему первый блок 51 % 17, не выводит 51? Ведь 51 кратно 17, ведь 51 делится на 17 без остатка, где у меня ошибка?
  • Вопрос задан
  • 128 просмотров
Пригласить эксперта
Ответы на вопрос 3
Vindicar
@Vindicar
RTFM!
for i in range (m, n ): перебирает числа от m до n-1 включительно, т.е. он не включает n.
Ответ написан
Комментировать
@Successful_Govnokoder
У тебя n не входит в промежуток, напиши в 3 строке:
for i in range (m, n + 1):
Прикол в том, что range() не принимает в себя последнее число, например range(5, 9) выглядит так: (5, 6, 7, 8), как видишь 9, последнего числа, нету.
Ответ написан
Комментировать
otdameskapizm
@otdameskapizm
Помог ответ? Отметь решением...
В данном случае у тебя твой цикл доходит до 50 и останавливается вот в этом условии: for i in range (m, n):, так как for i in range(m, n) будет перебирать твои числа от m до n - 1

Тебе нужно увеличить твое n на 1 и прописать for i in range(m, n + 1) и тогда должно заработать

Вот здесь можешь почитать: https://docs.python.org/2/library/functions.html#range
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы