Python

Помогите с Python

Дано число n. В интервале от 1 до n сложить все числа, которые делятся на 5 без остатка.
Orfey .
Orfey .
98
Я Вам очень сильно и искренне сочувствую - на хоть и простой, но вполне нормальный вопрос трое не пойми кого написали Вам три совершенно глупых ответа. Первые две программы работают некорректно, а третья неэффективно и ещё отчасти некорректно. Вот так нельзя было, что ли, написать?
 s = 0 
for i in range(5, int(input('n: ')) + 1, 5): s += i
print(s if s else 'Нет чисел кратных пяти')
Надеюсь, кстати, что у Вас должен рассматриваться диапазон целых чисел от 1 до n включительно, то есть [1;n], а не открытый интервал (1;n). Если ввести n меньше пяти, тогда вообще нет (натуральных) чисел кратных пяти и суммы чисел тоже никакой нет (даже нулевой !), потому что самих чисел таких нет. В цикле от 1 до n включительно с единичным шагом тоже нет никакой нужды, потому что надо складывать только числа кратные пяти, а не весь диапазон перебирать с дурацким if'ом, который здесь тоже совершенно ни к чему, поскольку существует цикл с шагом пять, как раз подходящий для данного случая.
Это всё, что касается сложения. Если же просто надо найти сумму указанных Вами чисел, то есть итоговый результат сложения, то и в циклах нет ни малейшей нужды, так как искомая сумма арифметической прогрессии равна вот чему: S = 5•(n//5)•(n//5 + 1). Вот код для расчёта по формуле суммы арифметической прогрессии:
 n=int(input('n: ))
print((n//5)*(n//5+1)//2*5 if n>4 else 'Нет чисел кратных пяти')
Результаты обеих программ одинаковые, только последняя всё рассчитывает мгновенно, а первая будет тормозить на достаточно больших по значению n, а то не ровен час и вовсе напрочь зависнет... ))
Джамол Эшов
Джамол Эшов
66 572
Лучший ответ
Я немножко дополнил программу от Ziu:
 n = int(input()) 
count = 0
for i in range(n+1):
if i % 5 == 0:
count += i

print(count)
 n = int(input())
count = 0
for i in range(n):
if i % 5 == 0:
count += i
print(count)
 n = int(input()) 
counter = 0
for i in range(1, n):
if i % 5 == 0:
counter += 1
print(counter)