1
resposta

Resolução

import csv
nomes = [
    
    {'Nome': 'Roberto', 'Nota': 3}, 
     {'Nome': 'Joana', 'Nota': 6}, 
     {'Nome': 'Gilberto','Nota': 9}
        
        
        ]

with open('grades.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.DictWriter(f, fieldnames=['Nome', 'Nota'], delimiter=';')
    writer.writeheader()
    writer.writerows(nomes)
    
    import csv
with open('grades.csv', newline ='', encoding = 'utf-8') as f:
    reader = csv.DictReader(f, delimiter= ';')
    for i in reader:
        nota = int(i['Nota'])
        if nota >= 7 :
            print(i['Nome'], i['Nota'])
        
1 resposta

Oi, Matheus! Como vai?

Agradeço por compartilhar.

Gostei da forma organizada que você usou o csv.DictWriter e depois o csv.DictReader pra gravar e ler o arquivo, além do uso correto do delimiter e da conversão da nota para int, o que deixou a lógica clara e funcional.

Você pode usar o metodo get do dicionário pra acessar valores com mais segurança, evitando erros caso alguma chave nao exista.


nota = int(i.get('Nota', 0))
if nota >= 7:
    print(i.get('Nome'), nota)

Esse código tenta buscar a nota e o nome no dicionário e usa valores padrão caso a chave não exista, ajudando a evitar falhas durante a leitura do arquivo.

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