Код:
counter = 50
total = 0
for i in range(counter, 70):
is_prime = True
for j in range(2, i):
remainder = i % j
print("i is : ", i, " - and j is : ", j, " and the remainder is : ", remainder)
if remainder == 0:
is_prime = False
print("remainder = ", remainder,", so ", i, "is not a prime")
if is_prime:
total += i
else:
print(i, " is a prime")
print(total)
Таким образом, если вы запустите код, он сначала скажет «50 - это не простое число», а затем позже - «50 - простое число». И я не понимаю этого. Я устанавливаю is_prime BOOLEAN в True только перед тем, как запустить тест l oop. Во время теста l oop, если число НЕ является простым, оно установит для is_prime значение False. Так что, на мой взгляд, is_prime не устанавливается обратно в True (только до начала следующей итерации l oop), поэтому число (I) должно быть идентифицировано как «не простое число». Где я не прав?