Solução da questão da aula do dia 09.11
Solução da questão que recebe como dado de entrada um arquivo com o seguinte padrão (nome + "\t" + tel + "\t" + cpf) e gera um novo arquivo ordenando os dados por nome ou cpf.
Size 1.3 kB - File type text/python-sourceFile contents
def bubble(vet,dado):
#checagem para ordenar por cpf ou nome
if (dado.upper()=="CPF"):
n=2
else:
n=0
#inicio do bubble sort
troca=True
fim=len(vet)-1
pos=1
while(troca==True):
troca=False
for i in range(0,fim):
# o if foi ajustado
if(vet[i][n]>vet[i+1][n]):
chave=vet[i]
vet[i]=vet[i+1]
vet[i+1]=chave
pos=i
troca=True
fim=pos
return (vet)
#Criando a lista
f=open("C:/Python31/ordenacao.txt","r")
contatos=f.readlines()
f.close()
lista=[]
for i in contatos:
a=i.rsplit("\t")
lista.append(a)
op=input("Digite a opcao para ordenar(1-->CPF, 2 -->nome): ")
output=""
if (op=="1"):
# Obs:Lista 2 recebe os dados ordenados.
lista2=bubble(lista,"CPF")
output="C:/Python31/ordenado_por_CPF.txt"
else:
# Obs:Lista 2 recebe os dados ordenados.
lista2=bubble(lista,"NOME")
output="C:/Python31/ordenado_por_NOME.txt"
#Inserir os espaços entre nome, tel e cpf.
for i in lista2:
i[0]+="\t"
i[1]+="\t"
f=open(output,"w")
for i in lista2:
f.writelines(i)
f.close()
Click here to get the file