olá, tenho esse código que me mostra os numeros primos que estão dentro de um arquivo txt.
O problema é que, não consigo mudar para me mostrar os numeros que não são primos do arquivo.
quero deletar a linha do arquivo que possui algum numero primo e mostrar em outro arquivo somente os numeros que sobraram após deletar a linha que possui algum numero primo.
def verificaPrimo(num):
return all(num%g!=0 for g in range(2,num)) and num > 1
def obtemNumeros(nomeArquivo):
with open(nomeArquivo, "r") as f:
for i in f:
yield i.split()
nomeArquivo = "numeros.txt"
texto = ''
for numeros in obtemNumeros(nomeArquivo):
texto += '{}\n'.format(' '.join([g for g in numeros if verificaPrimo(int(g))]))#filtra os primos
print(texto.strip(), file=open("resultPrimos.txt", 'w'))
conteudo do arquivo "numeros.txt"
10 20 30 25 98 1000
1 0 -1 9 20
2 3 0 31
4 999 26
8 997 20 30 234
161 6376
o que deveria ser impresso:
10 20 30 25 98 1000
1 0 -1 9 20
4 999 26
161 6376
o que o codigo acima imprime:
2 3 31
997