Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Projeto] Minha Resposta:

  1. Crie um programa que grave em um arquivo alunos.csv uma lista de alunos e suas notas.
with open ("alunos.csv", "w") as f:
  escritor = csv.writer(f)
  escritor.writerow(['nome', 'nota'])
  escritor.writerow(['Ana', 9.4])
  escritor.writerow(['Beatriz', 8.3])
  escritor.writerow(['Carlos', 7.4])
  escritor.writerow(['Daniel', 3.3])
  escritor.writerow(['Ester', 6.4])
  escritor.writerow(['Faleiros', 8.6])
  escritor.writerow(['Gabriela', 5.4])
  escritor.writerow(['Horácio', 2.1])
  escritor.writerow(['Isabela', 7.9])
  escritor.writerow(['João', 10.0])
  escritor.writerow(['Kaique', 4.8])
  escritor.writerow(['Laís', 4.9])
  escritor.writerow(['Manuel', 1.4])
  escritor.writerow(['Noele', 6.5])
  escritor.writerow(['Oscar', 2.0])
  escritor.writerow(['Paulo', 8.3])
  1. Leia o arquivo alunos.csv e imprima apenas os alunos com nota maior ou igual a 7.0.
with open ("alunos.csv", "r") as f:
  leitor = csv.reader(f)
  for linha in leitor:
    if linha != ['nome', 'nota']:  # para não ler a primeira linha (Erro ao converter 'nota' para float)
      if float(linha[1]) >= 7.0:   # verifica se a nota é maior ou igual a que 7.0
        print(linha)
1 resposta

Olá, Luiz! Como vai?

Gostei da forma como você tratou a leitura do arquivo CSV e evitou o erro da linha de cabeçalho antes de converter os valores para float. Sua lógica para filtrar os alunos com nota maior ou igual a 7.0 ficou clara e atende muito bem ao desafio proposto.

Uma dica interessante para o futuro é utilizar a função next() para pular o cabeçalho do arquivo de forma mais direta. Veja este exemplo:

<pre><code>
with open("alunos.csv", "r") as f:
    leitor = csv.reader(f)
    next(leitor)

    for linha in leitor:
        if float(linha[1]) >= 7.0:
            print(linha)
</code></pre>

Neste código, next(leitor) ignora a primeira linha do arquivo, deixando o laço focado apenas nos dados dos alunos.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!