Revisão Listas¶
Campeonato de Surf em Codeville¶
Campeonato de Surf em Codeville¶
Campeonato de Surf em Codeville¶
Encontre a pontuação mais alta¶
As pontuações estão no arquivo surf.txt
Selecione a pontuação mais alta para saber o vencedor!
Lendo o arquivo surf.txt¶
f = open('surf.txt')
for linha in f:
print(linha.strip())
f.close()
Fragmentador for¶
Descubra quem obteve a maior nota¶
O método split corta a string¶
O método split corta a string¶
Encontrando o 1º lugar¶
f = open('surf.txt')
maior = 0
for linha in f:
nome, pontos = linha.split()
if float(pontos) > maior:
maior = float(pontos)
f.close()
print(maior)
Sai o placar…¶
Controlar 3 pontuações é complicado¶
f = open('surf.txt')
primeiro = 0
segundo = 0
terceiro = 0
for linha in f:
nome, pontos = linha.split()
if float(pontos) > primeiro:
terceiro = segundo
segundo = primeiro
primeiro = float(pontos)
elif float(pontos) > segundo:
terceiro = segundo
segundo = float(pontos)
elif float(pontos) > terceiro:
terceiro = float(pontos)
f.close()
print(primeiro)
print(segundo)
print(terceiro)
Ordenar a lista seria melhor¶
Ordenação é mais fácil na memória¶
Dados em disco são persistentes: se você puxar o fio da tomada, o computador não esquecerá as informações gravadas no disco
Dados na memória são muito mais rápidos, porém não são persistentes: os dados na memória desaparecem quando seu programa sai ou quando o computador é desligado
Design Tradeoff: persistência x rapidez
Primeiro: ler os dados para a memória¶
Uai, vamô usar um trem de dados¶
Array, lista, vetor são nomes comuns para um lote inteiro de dados
Preciso de apenas uma única variável para todo o trem de dados
Voltando ao surf…¶
Podemos criar uma lista de notas
Para inserir cada nova nota use append
Os melhores colocados serão notas[0], notas[1] e notas[2]
Nova classificação¶
f = open('surf.txt')
notas = []
for linha in f:
nome, pontos = linha.split()
notas.append(float(pontos))
f.close()
print(notas[0])
print(notas[1])
print(notas[2])
Classificar em ordem descrescente¶
Métodos sort e reverse¶
O método sort ordena os dados
Utilizo reverse para que fiquem em ordem descrescente
O nerd pode utilizar notas.sort(reverse = True)
Finalmente a classificação correta¶
f = open('surf.txt')
notas = []
for linha in f:
nome, pontos = linha.split()
notas.append(float(pontos))
f.close()
notas.sort()
notas.reverse()
print(notas[0])
print(notas[1])
print(notas[2])