Почему не считается последнее число?
Это мой код:
number1 = int(input("Укажи начало интервала:"))
number2 = int(input("Укажи конец интервала:"))
if number1 and number2 < 0:
print("Введи пожалуйста позитивное число")
while number2 <= number1 :
print("Концу интервала нужно быть больше чем начала интервала!")
break
for i in range(number1, number2 + 1):
if i % 4 == 0:
c = sum(i for i in range(number1, number2) if i % 4 == 0)
print("В интервале чисел от "+str(number1)+"до "+str(number2)+",сумма чисел, которая делится на 4 : "+str(c))
Задача этой программы высчитывать сумму чисел, которые делятся на 4 в интервале чисел , которые я могу указать. Проблема в том, что например при введении чисел 3 и 32, он показывает сумму 112, а правильный ответ 144(сами можете посчитать), следовательно он не считает последнюю цифру 32, так как 112+32=144. Как это можно исправить?
Ответы (1 шт):
Автор решения: Danis
→ Ссылка
for i in range(number1, number2 + 1):
if i % 4 == 0:
c = sum(i for i in range(number1, number2) if i % 4 == 0)
Зачем здесь первый цикл for, от него можно просто избавиться.
в range(number1, number2) к number2 надо прибавить 1
c = sum(i for i in range(number1, number2 + 1) if i % 4 == 0)
Не правильная проверка:
if number1 and number2 < 0:
должно быть:
if number1 < 0 or number2 < 0: