Dúvida em um código simples PYTHON

Sou iniciante em programação PYTHON, estou aprendendo, tava fazendo esse exercício de dizer se um número é primo ou não, mas tá dando errado ao digitar 25, o 25 não é primo, pois ele é divisível 3 vezes, que é por 1, e por ele mesmo, e pelo 5, mas meu contador só tá contando 2 vezes


cont = 0
n = int(input(‘Digite um valor: ‘))
if n > 1:
for i in range(1, 11):
if n % i == 0:
cont += 1
if cont > 2:
print(f’Não é primo, ele é divisivel {cont} vezes’)
else:
print(f’É primo, ele é divisel apenas {cont} vezes’)
else:
print(‘Não é primo’)Texto pré-formatado

@Joao_SF, Seu range deve ir de 1 a N. Então fica assim:

cont = 0
n = int(input("Digite um valor: "))

if n > 1:
  for i in range(1, (n+1)):
    if n % i == 0:
      cont += 1
      
  if cont > 2:
    print(f"Não é primo, ele é divisivel {cont} vezes")
  else:
    print(f"É primo, ele é divisel apenas {cont} vezes")
else:
  print("Não é primo")

Desse modo se a entrada for 4 ele vai testar se é divisível por: **1,2,3,4 **
No caso: (1 2 4) três vezes!

2 curtidas

Muito obrigado, nem reparei nessa do N. Deu certo agora huhu

1 curtida