Была задача вывести от 1-100 простые числа,
Я вот написал вот так:
for i in range(100):
for x in range(2, i):
if i % x == 0:
и всё я дальше не догоняю как сделать, Нашёл пример в интернете, тут как раз таки False и True есть, ну я так понял что, изначально prime - было истино(зачем-то, разве нельзя без этого?), далее во внутреннем цикле перебираем от 2 до 100 числа и проверяем условие, если 2/2 и так далее = 0, то ложно и ... далее я вот не понимаю if prime:(если prime - ?) и просто принт
Разве не нужно каждый ответ от проверки куда-то сохранять? или он и так сохраняется, я думал может какой-то накопитель нужен?
for num in range(2,101):
prime = True
for i in range(2,num):
if (num%i==0):
prime = False
if prime:
print(num)
Кому не сложно разжуйте пожалуйста, и вот это вот в конце if prime: и нету условия никакого, не понял, а по факту работает код)Пока писал этот вопрос, решил разобраться сам и написал вот это:
for num in range(1, 11):
for j in range(10):
print(j, end=' ')
print()

и ВОТ это:
for num in range(1, 11):
for j in range(num):
print(j, end=' ')
print()

Почему когда я меняю во внутреннем цикле num на 10, меняется и вывод?
Разве это не тоже самое что и 10?
1. Изначально ставим True чтобы цикл верно работал(я так понимаю и это всегда так надо ставить), ну или образно "надеемся на лучшее" :)
2. Далее после проверки, если делитель был найден то ставится False для этого числа из диапазона, далее проверяет следующее число, и так пока не дойдёт до конца
2.1 Вопрос, как программа понимает что нужно сохранить верный ответ в N_is_prime
3. Ну а в конце просто выводим результат через if, а почему нельзя просто print(N_is_prime)