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()