1
resposta

[Sugestão] Projeto 7

fiz o exercício 7 da seguinte forma:

#7
nm = int(input('Digite um número para checar se é primo'))

for i in range(1, 11):
  if i == 1 or i == nm:
    continue
  else:
    if nm %i == 0:
      print(f'{nm} não é primo e é divisível por {i}')

é possível melhorá-lo?

1 resposta

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údos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!