Olá, Claudio! Tudo bem?!
Toda lógica do seu código está correta! O erro do programa está justamente na identação. A identação é fundamental no Python porque substitui o uso de chaves, por exemplo, que é muito comum em outras linguagens. Então na prática, a identação vai indicar o início e fim de um bloco de código em Python. Caso a identação esteja errada, o interpretador irá apresentar um erro de sintaxe. No caso seu código, o problema está no seu segundo if
que ficou fora do bloco for
. É importante mencionar que a identação também implica em uma boa legibilidade do código.
Os ambientes de desenvolvimento geralmente identam de maneira automática após o uso da tecla ENTER
, mas caso isso não esteja sendo possível, uma boa dica é usar a tecla TAB
.
Para corrigir, ajuste seu código para a seguinte identação:
int(input("Digite um número inteiro: "))
Lista_primos = [] #Lista para receber os números
#Laço que vai rodar todos os números abaixo do número digitado
for num in range(2, numero):
primo = True
for teste_divisiveis in range(2, num):
if num % teste_divisiveis == 0:
primo = False
break
if primo:
Lista_primos.append(num)
print(f"Lista de números primos: {Lista_primos}")
Após essas alterações, salve o seu arquivo e execute novamente.
Espero ter ajudado e ficarei à disposição se precisar. Conte com o apoio do fórum na sua jornada. Abraço e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado