Manipulação de Arquivo [RESOLVIDO]

1. Manipulação de Arquivo [RESOLVIDO]

Thiago Giroto Milani
thiagogmilani

(usa Debian)

Enviado em 14/09/2016 - 21:09h

Boa Noite, preciso escrever o conteúdo de um vetor A em um arquivo .txt
estou aplicando o algoritmo de insertionSort nele e o resultado preciso escrever em um arquivo .txt

Ex:

A=[1,4,6,3,6,8,9,0,6,12,32,56,45,77,54]
print A
def insertionSort(A):
for i in range(1,len(A)):
x = A[i]
j = i-1
while j>=0 and x<A[j]:
A[j+1] = A[j]
j=j-1
A[j+1] = x
return A
insertionSort(A)
print (A)


como faço?



  


2. Re: Manipulação de Arquivo [RESOLVIDO]

Lisandro Guerra
Lisandro

(usa Arch Linux)

Enviado em 17/09/2016 - 20:10h

Bem, a função insertionSort é totalmente desnecessária. O Pyhton já tem esta função internamente (builtin functions) assim teu trecho de programa acima ficaria assim:

A=[1,4,6,3,6,8,9,0,6,12,32,56,45,77,54]
print(A)
A.sort()
print (A)


E para escrever em um arquivo txt um vetor por linha?
Bom aí poderia ser assim:

A=[1,4,6,3,6,8,9,0,6,12,32,56,45,77,54]
A.sort()
f = open('arquivo.txt', 'a')
f.write(str(A))
f.close()


ou


A=[1,4,6,3,6,8,9,0,6,12,32,56,45,77,54]
A.sort()
with open('arquivo.txt', 'a') as out:
out.write(str(A) + '\n')


Abraço


3. Re: Manipulação de Arquivo

Thiago Giroto Milani
thiagogmilani

(usa Debian)

Enviado em 19/09/2016 - 19:41h

Sim eu sei, é para um trabalho preciso implementar as funções, e preciso gerar uma lista com 1000 números aleatórios para executar a função sort porém não está dando certo, o que estou fazendo de errado?
a função insertionsort eu tenho ctz que está certo pois ja testei com lista prontos e funciona.
está dando erro na hora de criar a lista com os 1000 números aleatórios.

for i in range(1,1000):
from random import randint
A[i] = (randint(list (0,1000))
print 'A = ',A

################################################################################

insertionSort(list (A))
print (A)
f = open('r_insertionsort.txt','w')
f.write (str(A))
f.write ('\n')
f.close()



4. Re: Manipulação de Arquivo

Lisandro Guerra
Lisandro

(usa Arch Linux)

Enviado em 19/09/2016 - 21:26h

thiagogmilani escreveu:

Sim eu sei, é para um trabalho preciso implementar as funções, e preciso gerar uma lista com 1000 números aleatórios para executar a função sort porém não está dando certo, o que estou fazendo de errado?
a função insertionsort eu tenho ctz que está certo pois ja testei com lista prontos e funciona.
está dando erro na hora de criar a lista com os 1000 números aleatórios.

for i in range(1,1000):
from random import randint
A[i] = (randint(list (0,1000))
print 'A = ',A

################################################################################

insertionSort(list (A))
print (A)
f = open('r_insertionsort.txt','w')
f.write (str(A))
f.write ('\n')
f.close()


É trabalho de faculdade? Coloca direito a dúvida aqui pois vários professores estão por aqui e pode pegar mal se teu professor te vê, embora a teu favor é que tens sempre colocado um código para ser corrigido e por isso tenho respondido.
Pra começar o import deve ficar no início do arquivo, assim como está você está importando a biblioteca 1000 vezes.
Onde está a função de ordenação? No corpo do programa ou em outro arquivo?
Se for no corpo do programa fica mais ou menos assim:

from random import randint # primeiro importamos as bilbliotecas

def insetionSort(A):
# aqui sua função que já está ok
pass

A=[] # define que A é uma lista vazia
for i in range(1,1000): # laço que se repete de 1 a 1000
A.append(randint(1,1000)) # sorteia um numero de 1 a 1000 e coloca no final da lista
print ('A= ', A) # imprime a lista gerada

insetionSort(A) # chama a função para ordenar A

print (A) # imprime A ordenado
f = open('r_insertionsort.txt','w')
f.write (str(A))
f.write ('\n')
f.close()



5. Re: Manipulação de Arquivo [RESOLVIDO]

Thiago Giroto Milani
thiagogmilani

(usa Debian)

Enviado em 20/09/2016 - 12:35h

resolvido, era exatamente esse treco que eu precisava, o resto ja estava funcionando, desculpe colocar o código bagunçado ai, mais era só a parte de criar N com 1000 elementos aleatórios que estava dando erro.

obrigado.




6. Re: Manipulação de Arquivo [RESOLVIDO]

Lisandro Guerra
Lisandro

(usa Arch Linux)

Enviado em 20/09/2016 - 18:23h

thiagogmilani escreveu:

resolvido, era exatamente esse treco que eu precisava, o resto ja estava funcionando, desculpe colocar o código bagunçado ai, mais era só a parte de criar N com 1000 elementos aleatórios que estava dando erro.

obrigado.



Ok. Marque o tópico como resolvido e escolha a melhor resposta.
A braço e sucesso no trabalho.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts