コード例 #1
0
def read_data(fname, mode, **kwargs):
    #This is a totally ad-hoc function. Mode currently
    #is either 'eirik' or 'oystein', referring to which way the file is
    #formatted
    if mode == "eirik":
        data = np.loadtxt(fname, skiprows=1, delimiter=',')
        data = np.append(data[:119, :], data[120:, :], axis=0)
        grade_data = Grades(data, mode="complete")
    elif mode == "oystein":
        grade_data = Grades(np.loadtxt(fname), mode="final_only")

    if "add_commands" in kwargs:
        comm_list = kwargs["add_commands"]
    else:
        comm_list = []
    if "remove_fail" in comm_list:
        grade_data = remove_fails(grade_data, kwargs["fail_filename"],
                                  kwargs["fail_delimiter"])
    if "sort_grades" in comm_list:
        if "sort_along_column" in kwargs:
            grade_data = sort_grades(grade_data, kwargs["sort_along_column"])
        else:
            grade_data = sort_grades(grade_data)

    return grade_data
コード例 #2
0
class Student:
    def __init__(self, student_name, student_surname):
        self.__student_name = student_name
        self.__student_surname = student_surname
        self.__grades = Grades()

    def print_student_data(self):
        print("{} {}".format(self.__student_name, self.__student_surname))
        self.print_grades()

    def add_grade(self, grade, weight):
        self.__grades.add_grade_with_weight(grade, weight)

    def print_grades(self):
        self.__grades.print_grades()

    def print_grades_average(self):
        print(self.__grades.count_grades_average())

    @property
    def student_name(self):
        return self.__student_name

    @property
    def student_surname(self):
        return self.__student_surname
コード例 #3
0
def main():
	#creates instance of the Grades class, which is represented by our data on restaurant grades
	grades = Grades()

	#computes and prints the sum of the grade scores in each of the boroughs and across all of NYC
	grades.compute_borough_and_city_sums()

	#plots the grade distribution amongst restaurants in each of the boroughs and across all of NYC
	grades.plot_grade_improvement_boroughs()
	grades.plot_grade_improvement_nyc()
コード例 #4
0
def average_grades(ingrades, along_column=-1, round_nearest=True):
    """Along_column can be a list as well, if you want to average over two different columns"""

    #Test whether along_column is an iterable
    try:
        iterator = iter(along_column)
    except TypeError:
        along_column = np.array([along_column] * len(ingrades))
    else:
        along_column = np.array(along_column)
    if round_nearest:
        data = np.rint(np.array(ingrades[0].data[:, along_column[0]]))
    else:
        data = np.array(ingrades[0].data[:, along_column[0]])
    for i in xrange(1, len(ingrades)):
        if round_nearest:
            data += np.rint(ingrades[i].data[:, along_column[i]])
        else:
            data += ingrades[i].data[:, along_column[i]]
    data /= len(ingrades)

    return Grades(np.array([ingrades[0].data[:, 0], data]).T, mode="Averaged")
コード例 #5
0
    def getHtml(self, user):
        can_edit = user.id == self.session.user.id

        header = h3('School Information')
        #help = span(a('Why do I need to provide this information?'),
        #            class_='helpMsg',
        #            title='By knowing what school or schools you are '
        #            'interested in, we can provide you with conversations '
        #            'that are meaningful to you.')

        table = HtmlTable(class_='table')

        # header
        col_header = ['Role', 'School', 'Grade']
        if can_edit:
            col_header.append(' ')
        table.addHeader(col_header)

        # schools
        for s in user.schools:
            row = [s['relation'], s['school'], s['grade']]
            row[2] = Grades().table[row[2]]['name']
            if can_edit:
                school_info = '%s - %s - %s Grade' % tuple(row)
                row.append(
                    a('X',
                      class_='delete',
                      onclick="javascript:deleteSchool(%s, '%s');" %
                      (s['id'], js_arg(school_info))))
            table.addRow(row)
            table.setColClass(3, 'right-center')

        # add school row
        if self.add_school_row:
            table.addRow(self.schoolFields())

        # buttons
        buttons = ''
        if can_edit:

            # [add new school] button
            if not self.add_school_row:
                add_button = a('Add another school',
                               class_='btn btn-primary first-button',
                               onClick='javascript:addSchoolRow();')
                buttons += add_button

            # [save] + [cancel] buttons
            if self.add_school_row:
                save_button = a('Save',
                                class_='btn btn-success first-button',
                                onClick='javascript:saveNewSchool()')
                cancel_button = a('Cancel',
                                  class_='btn btn-warning',
                                  onclick="location.href='profile.py';")
                buttons += save_button + cancel_button

        # hidden fields
        hidden_fields = \
            input(type='hidden', name='add_school_row') + \
            input(type='hidden', name='save_new_school') + \
            input(type='hidden', name='delete_user_school')

        body = div(table.getTable() + buttons + hidden_fields, id='schoolInfo')
        return header + form(body, name='si_form', method='POST')
コード例 #6
0
 def _gradeField(self):
     '''Build school grade field'''
     options = {0: 'Select grade'}
     for id, record in Grades().table.items():
         options[id] = record['name']
     return self.mkDropDownMenu('grade', options)
コード例 #7
0
def sort_grades(ingrades, along_column=-1):
    return Grades(ingrades.data[ingrades.data[:, along_column].argsort()],
                  mode=ingrades.mode)
コード例 #8
0
def remove_entries_from_grades(ingrades, entries):
    rows = np.empty(0)
    for entry in entries:
        rows = np.append(rows,
                         np.argwhere(ingrades.data[:, 0].astype(int) == entry))
    return Grades(np.delete(ingrades.data, rows, axis=0), mode=ingrades.mode)
コード例 #9
0
ファイル: students.py プロジェクト: uselesscloudlet/OOPLabs
 def __init__(self, name, grades):
     self.__name = name
     self.__grades = dict()
     for grade in grades:
         subjectName = grade[0]
         self.__grades[subjectName] = Grades(grade[1])
コード例 #10
0
ファイル: students.py プロジェクト: uselesscloudlet/OOPLabs
 def addSubjectAndGrade(self, subjectName, grades):
     self.__grades[subjectName] = Grades(grades)
コード例 #11
0
ファイル: parse.py プロジェクト: RKKUNDU/info-mine
from courses import Courses
from grades import Grades
from quizzes import Quizzes
from assignments import Assignments
from forums import discussion_forums
from discussions import Discussions
from announcements import Announcements

if len(sys.argv) == 1:
    exit(1)

if sys.argv[1] == '-c' or sys.argv[1] == '--courses':
    c = Courses()
    c.show_courses()
elif sys.argv[1] == '-g' or sys.argv[1] == '--grade':
    c = Grades()
    x = sys.argv[2]
    c.show_grades(x)
elif sys.argv[1] == '-q' or sys.argv[1] == '--quiz':
    c = Quizzes()
    x = sys.argv[2]
    c.show_quizzes(x)
elif sys.argv[1] == '-a' or sys.argv[1] == '--assignment':
    c = Assignments()
    if len(sys.argv) == 2:
        c.show_all_assignments()
    elif len(sys.argv) == 3 and sys.argv[2] == '-due':
        c.show_all_due_assignments()
elif sys.argv[1] == '-f' or sys.argv[1] == '--forum':
    c = discussion_forums()
    if len(sys.argv) == 3:
コード例 #12
0
 def __init__(self, number, student):
     self.number = number
     self.student = student
     self.grades = Grades()
コード例 #13
0
 def __init__(self, student_name, student_surname):
     self.__student_name = student_name
     self.__student_surname = student_surname
     self.__grades = Grades()
コード例 #14
0
from grades import Grades

if __name__ == '__main__':
    login = input('Введите логин пользователя: ')
    password = input('Введите пароль пользователя: ')
    grades = Grades(login, password)
    for grade in grades:
        print(
            f'{grade.name:.<50}.{str(grade.all_grades).strip("{}")}, middle: {grade.middle}'
        )
    input()