Advertisement
Guest User

Untitled

a guest
Nov 5th, 2019
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. lista = [['arroz-', '4.00'], ['feijão-', '2.00'], ['catarro1-', '50.00'], ['catarro2-', '1.00'], ['catarro3-', '8.00'], ['catarro4-', '6000.00'], ['catarro5-', '0.1']]
  2. # criei uma matriz que é uma lista dentro da outra, para poder separar cada produto um do outro, para eles terem posições unicas(individuais)
  3. precos = [] # <= criei essa lista para poder analisar os preços com mais facilidade,ao inves de usar: por exemplo quero acessar o preço do produto de posição 0
  4. # da lista, então ao inves de fazer lista[0][1], eu faço precos[0] pois precos no loop abaixo,recebe os precos de cada produto
  5. for c in lista: #  <= loop pra pegar todos os precos de cada produto da lista
  6.     precos.append(float(c[1]))# <= transformei em float porque 'c[1]' estava do tipo string(obs: c[1] = preço do produto)
  7. print(precos) # printei precos só pra ver se estava tudo certo haha
  8. for cont in range(0, len(precos)):# isso aqui pra cada elemento da lista 'precos' ele vai executar o loop que esta dentro desse 'for' pai.
  9.     for indice, c in enumerate(precos):
  10.         # aqui eu analiso cada elemento de 'precos', esse enumerate é uma palavra reservada pra pegar o indice e o conteudo
  11.         # de cada elemento da lista 'precos', o primeiro argumento 'indice' poderia ser qualquer variavel,qualquer nome,
  12.         # mas coloquei como 'indice',pois realmente ele pega o indice daquele determinado item da lista e o 'c' indica o conteudo.
  13.         if indice + 1 < len(precos):
  14.     # isso aqui é para não dar erro index out of range, que indica que não existe o indice indicado,pois embaixo estou testando
  15.     # o indice + 1 ou seja se o indice do elemento for maior doque o tamanho do array ele não faça o resto do codigo,pois
  16.     # gerara um erro se tentar analisar um elemento que não existe dentro da lista
  17.             if c > precos[indice + 1]:
  18.                 # aqui verifico se o elemento atual 'c', é maior doque o seu elemento posterior 'precos[indice + 1]', coloquei indice + 1
  19.                 # pois do indice do elemento atual,quero analisar o seu elemento posterior,então aumentei em 1 o indice para pegar o elemento posterior pelo indice
  20.                 antigo = c # <= antigo vai ser = conteudo atual que é o c
  21.                 novo = precos[indice + 1] # <= novo vai ser igual ao elemento posterior, que é o: precos[indice + 1], como eu havia dito no comentario aqui encima
  22.                 precos[indice] = novo # <= e ae adiciono ao elemento atual o valor do elemento posterior
  23.                 precos[indice + 1] = antigo# <= aqui tambem, o elemento posterior vai ter o valor do elemento atual.
  24. print(precos)
  25. # se eu nao usasse o for pai(for pai é o segundo loop 'for' que usei no codigo,os preços ficariam embaralhados
  26. # eu botei o for 'pai' pra executar até acabar os elementos da lista,para nenhum ficar na ordem incorreta se quiser testar,
  27. # retire o for pai do codigo e verá o resultado incorreto
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement