Advertisement
PedroPauloFO

Catalogo Ordenado

Aug 7th, 2014
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.17 KB | None | 0 0
  1. # coding: utf-8
  2. # Pedro Paulo, 114110482
  3. # Catalogo Ordenado
  4.  
  5. def ordenaPalavras(nomes, entrada):
  6.     for e in range(len(nomes)-1,0,-1): # vai do indice do tamanho da lista -1 ate o primeiro (zero), de tras pra frente
  7.        pos_maior = 0 # posicao do maior elemento da lista
  8.        for pos in range(1, e + 1): # passa por indices de 1 ao do for aninhado + 1
  9.            if nomes[pos] < nomes[pos_maior]: # se cada palavra entre essas posicoes for menor que a maior palavra...
  10.                pos_maior = pos # a posicao da maior palavra eh agora a da palavra que foi lida
  11.                
  12.        nomes[e], nomes[pos_maior] = nomes[pos_maior], nomes[e] # troca os valores do palavra da vez pela palavra que estava na maior posicao
  13.        
  14.     for p in nomes: # passando pela lista agora ordenada..
  15.         if p == entrada:
  16.            print '*', p # se for a da entrada, imprime com *
  17.         else:
  18.            print p # se nao, imprime apenas
  19.     print '----'
  20.  
  21. nomes = []
  22. while True:
  23.     entrada = raw_input()
  24.    
  25.     if entrada == '####': # parar se ler ####
  26.         break
  27.    
  28.     nomes.append(entrada)   #por a palavra, ainda sem ordem, na lista
  29.     ordenaPalavras(nomes, entrada) # funcao que ordena e imprime na ordem
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement