1
resposta

[Sugestão] Exercício 4 Resposta Alternativa {Bubble Sort}

Pessoal, eu acabei entendendo errado o enunciado do quarto exercíco e acabei complicando o problema.

O meu entendimento era de que a lista seria fornecida no código e que poderiam ser usados qualquer valor inteiro ou float. Com essa premissa a lista deveria ser organizada de forma decrescente.

A partir disso, acho que o enunciado ficaria "Utilizando um loop, organize e imprima uma lista conhecida em ordem decrescente". Pesquisando decidi usar o método bubble sort onde dois valores da lista são comparados e trocam de lugar se o valor com maior indíce é também o maior valor.

o código ficou assim:

import os
os.system('cls')

deca = [1,2,7,4,5,3,7,1,4,8,3,10,9,-2,85]

tam=len(deca)

for i in range(tam):
  for j in range(0, tam-i-1):
    if deca[j]<deca[j+1]:
      deca[j],deca[j+1]=deca[j+1],deca[j]

print(f'{deca}\n')

Eu tentei usar uma lista com strings e valores, mas não tive sucesso usando try except, a solução que cheguei mais próxima foi:

deca = ['aluno',1,2,7,4,5,3,7,1,4,'aluno',8,3,10,9,-2,85]
tam=len(deca)

for i in range(tam):
  for j in range(0, tam-i-1):
      try:
        if deca[j]<deca[j+1]:
          deca[j],deca[j+1]=deca[j+1],deca[j]
      except:
         deca[j+1]=deca[j]
      

print(f'{deca}\n')

Esse caso tem dois erros que não consegui resolver sozinho, o primeiro valor sendo uma string, força todos os outros valores a serem string também, e se o valor string estiver no meio, ele duplica um valor anterior que foi usado na comparação.

Compartilhei aqui porque achei interessante a solução do bubble sort, não sabia que eu podia trocar dois valores ao mesmo tempo.

Obrigado a todos o/

1 resposta

Oi, Marcelo! Tudo bem?

Que interessante a sua abordagem com o Bubble Sort! É uma ótima maneira de praticar a lógica de programação e entender como os algoritmos de ordenação funcionam, obrigada por compartilhar o seu feedback com a gente, ele é bastante valioso para a nossa comunidade! Caso tenha ficado alguma dúvida em relação ao curso ou atividade, sinta-se à vontade em comunicar, estou à disposição e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!