Oi, Daniel! Como vai?
Agradeço por compartilhar.
Gostei de como você utilizou o for com range e já tratou condições com continue, isso mostra uma boa lógica para evitar verificações desnecessárias.
Você pode usar break pra parar o loop assim que encontrar um divisor:
nm = int(input('Digite um numero'))
eh_primo = True
for i in range(2, int(nm ** 0.5) + 1):
if nm % i == 0:
print(f'{nm} nao eh primo e eh divisivel por {i}')
eh_primo = False
break
if eh_primo and nm > 1:
print(f'{nm} eh primo')
Esse código verifica divisores apenas até a raiz do numero e interrompe o loop quando encontra um divisor, deixando a execução mais rápida.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!