A Solução apresentada pelo Instrutor é a seguinte:
Solicitamos o número
num = int(input("Digite o número: "))
Assumimos que o número é primo até que se prove o contrário
eh_primo = True
Números abaixo de 2 não são primos
if num <= 1 : eh_primo = False
O 1 n é primo pq n tem dois fatores pra aplicar a lógica
else: for i in range(2, num): # Se o número for divisível por qualquer número dentro deste intervalo, # ele não é primo, portanto, mudamos a variável 'eh_primo' para False e saímos do loop.
if num % i == 0:
eh_primo = False
break
Verifica se 'eh_primo' ainda é True, o que significa que o número passou pelo loop
sem ser divisível por nenhum número além de 1 e ele mesmo.
if eh_primo: # Se for o caso, o número é primo. print(f'O número {num} é primo') else: # Caso contrário, o número não é primo. print(f'O número {num} não é primo')
Minha dúvida é porque que na linha if num % i == 0, a lógica é considerada que o número não é primo, se o % indica o resto da divisão ser 0. Por exemplo, Se 3 % 3 dá 0, então, até onde entendi, a lógica se aplica. Não entendi porque que ali deve ser colocado que a condiçao de Primo seja False.