Skip to content

Instantly share code, notes, and snippets.

@jurandysoares
Created January 28, 2026 18:56
Show Gist options
  • Select an option

  • Save jurandysoares/2a82a18eadd6eb7758f98ec2be3dc187 to your computer and use it in GitHub Desktop.

Select an option

Save jurandysoares/2a82a18eadd6eb7758f98ec2be3dc187 to your computer and use it in GitHub Desktop.
import csv
# Itens que devem estar marcadas
gab_marcadas = set('''\
maira não consegue criar arquivos nem diretórios em /srv/amarelo
damis pode abrir um arquivo que está em /srv/azul e que ele tenha permissão de leitura
maira consegue listar o nome dos arquivos em /srv/vermelho
vitor consegue criar e apagar arquivos em /srv/verde\
'''.splitlines())
# Itens que devem estar desmarcadas
gab_desmarcadas = set('''\
vitor consegue criar arquivos e diretórios em /srv/amarelo
damis consegue criar e apagar arquivos em /srv/vermelho
nayara não pode criar e apagar arquivos em /srv/verde\
'''.splitlines())
leitor = csv.DictReader(open('av02-soa-2025-2-permissoes.csv', encoding='utf-8'))
marcadas_por = {}
pontuacao_de = {}
for linha in leitor:
nome = linha['Nome']
respostas = linha['Respostas'].split(', ')
marcadas = set(respostas)
marcadas_por[nome] = marcadas
num_marcadas_certa = len(gab_marcadas.intersection(marcadas))
num_desmarcadas_errada = len(gab_desmarcadas.intersection(marcadas))
pontuacao_de[nome] = 10*num_marcadas_certa + (30-10*num_desmarcadas_errada)
# print(f'{nome}:')
# print(f'- Marcou {num_marcadas_certa} corretamente')
# print(f'- Desmarcou {num_desmarcadas_errada} erroneamente')
# print()
# print(f'Pontuação: {pontuacao_de[nome]}')
# print('-', '\n- '.join(marcadas))
# print(10*' = ')
for nome,pontos in pontuacao_de.items():
print(f'{nome}: {pontuacao_de[nome]} pontos')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment