EOppi student grading: Difference between revisions

From wikiluntti
Line 5: Line 5:
== Theory ==
== Theory ==


Save the database as csv file and read it. Choose the exercises and run the python script.
Save the database as a csv file and read it. Choose the exercises and run the python script.


<syntaxhighlight lang="python">
<syntaxhighlight lang="python">

Revision as of 14:53, 31 January 2021

Introduction

Set the grades according to the points given to the exercises.

Theory

Save the database as a csv file and read it. Choose the exercises and run the python script.

#Python3

import csv
import math
import glob
import numpy as np

def getExeNames(titles):
    ti = []
    for title in titles[1:]:
        ti.append(title)
    return ti

def getRow(row):
    r = [row[0]]

    points = []
    for i,p in enumerate( row[1:] ):
        #Convert the numbers separated by space into a array of integers
        #Fetch the max value of and return those.
        #print( p )
        #print( [(i) for i in p.strip().split(' ')] )
        values = [int('0'+i) for i in p.strip().split(' ')]
        #print( values );
        r.append( max( values ))

    return r


def removeFieldName(a, name):
    #https://stackoverflow.com/questions/15575878/how-do-you-remove-a-column-from-a-structured-numpy-array
    names = list(a.dtype.names)
    if name in names:
        names.remove(name)
    b = a[names]
    return b