How can I save these two python functions in separate files?

Asked

Viewed 24 times

1

I created two functions, one to analyze the primes and the other to analyze the perfect numbers and I would like to know how to save the results obtained for the primes in a file and the other results obtained for the perfect ones in another file.

print ('Olá.\nPor favor, digite um primeiro valor para verificar os números primos e um segundo valor para verificar os números perfeitos')

def primo(n):
    if n< 2:
        return False
    
    for i in range(2,n):
        if n%i == 0:
            return False

    return True


valorminimo = 2
valordigitado = int(input('Valor para verificação dos números primos: '))

print('\nOs números primos até', valordigitado, 'são: ')
for i in range(valorminimo, valordigitado+1):
    if primo(i):
        print(i, end=' ')

def numero_perfeito(n):
    
    if n< 1:
        return False

    somaperfeito = 0
    
    for i in range(1,n):
        if n%i==0:
            somaperfeito += i

    return somaperfeito == n


valorminimo = 0
valordigitado = int(input('\nValor para verificação dos números perfeitos: '))


print('\nOs números perfeitos existentes até', valordigitado, 'são: ')
for i in range(valorminimo, valordigitado+1):
    if numero_perfeito(i):
        print(i, end=' ')

1 answer

1


You can use open('nome_do_arquivo.txt','w'), f.writelines() and f.close(). That’s for every file you want to write.

print ('Olá.\nPor favor, digite um primeiro valor para verificar os números primos e um segundo valor para verificar os números perfeitos')

def primo(n):
    if n< 2:
        return False
    
    for i in range(2,n):
        if n%i == 0:
            return False

    return True


valorminimo = 2
valordigitado = int(input('Valor para verificação dos números primos: '))

print('\nOs números primos até', valordigitado, 'são: ')

f = open('primos.txt','w')
for i in range(valorminimo, valordigitado+1):
    if primo(i):
        print(i, end=' ')
        f.writelines(str(i)+' ')
f.close()


def numero_perfeito(n):
    
    if n< 1:
        return False

    somaperfeito = 0
    
    for i in range(1,n):
        if n%i==0:
            somaperfeito += i

    return somaperfeito == n


valorminimo = 0
valordigitado = int(input('\nValor para verificação dos números perfeitos: '))

f = open('perfeitos.txt','w')
print('\nOs números perfeitos existentes até', valordigitado, 'são: ')
for i in range(valorminimo, valordigitado+1):
    if numero_perfeito(i):
        print(i, end=' ')
        f.writelines(str(i)+' ')
f.close()

Of course there are other alternatives, but I believe that this is a simple way.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.