PythonBrasil

sexta-feira, junho 27, 2008

Cria Prova - Pequenas modificações e melhorias

Fiz algumas melhorias e modificações no script criaprova.
O programa agora cria provas com número de questões iguais entre os arquivos; isto permite uma prova mais balanceada.
Algumas informações sobre as provas são apresentadas, como o nome dos arquivos, o número de questões em cada arquivo, total de questões.
O programa calcula o número de questões que serão selecionadas de cada arquivo; em caso de divisão não exata, a sobra é distribuída aleatoriamente entre os arquivos - uma questão por arquivo.
Também é informada distribuição de questões por arquivo [num.questões, num.arquivo] e o número real de questões que cada prova tem; pode ser que uma prova fique com número de questões menor do que o solicitado se algum arquivo não contém questões suficientes (maior do que o número de questões por arquivo). Para executar o script usei a seguinte linha de comando:


python criaprova_v3.py 5 22 ../q1-3-20080623.txt ../q4-20080623.txt \
../q5.txt ../q6-20080623.txt

Na linha acima, o número 5 após o nome do script indica o número de provas a serem geradas; o número 22 indica o número de questões por prova e os demais são os nomes dos arquivos com as questões.

Abaixo um exemplo das informações que são mostradas:

arquivos ['../q1-3-20080623.txt', '../q4-20080623.txt', '../q5.txt', \
'../q6-20080623.txt']
arquivo 0: ../q1-3-20080623.txt questoes: 33
arquivo 1: ../q4-20080623.txt questoes: 15
arquivo 2: ../q5.txt questoes: 10
arquivo 3: ../q6-20080623.txt questoes: 14
num arquivos: 4 total: 72

Questoes por arquivo 5
Sobra: 2 >>> Arquivo(s) que ficara(o) com a sobra: [3, 1]
Prova: 0 dist. de questoes [[5, 0], [6, 1], [5, 2], [6, 3]] total 22
Prova: 1 dist. de questoes [[5, 0], [6, 1], [5, 2], [6, 3]] total 22
Prova: 2 dist. de questoes [[5, 0], [6, 1], [5, 2], [6, 3]] total 22
Prova: 3 dist. de questoes [[5, 0], [6, 1], [5, 2], [6, 3]] total 22
Prova: 4 dist. de questoes [[5, 0], [6, 1], [5, 2], [6, 3]] total 22


Este é um exemplo de prova gerada pelo script

Postar um comentário