-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexam.py
31 lines (26 loc) · 977 Bytes
/
exam.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from dataclasses import dataclass
from typing import List, Type
@dataclass
class GradeLog:
TA: str
Student: str
Prompt: str
Response: str
Notes: str
Grade: int
class Exam:
def __init__(self, questions: List[str], question_guidelines: List[str], exam_guidelines: List[str], schema: GradeLog):
assert issubclass(schema, GradeLog), "Provided schema must be a subclass of Schema or Schema itself."
self.questions = questions
self.question_guidelines = question_guidelines
self.exam_guidelines = exam_guidelines
self.schema = GradeLog
def summarize_exam(self):
print("Exam Guidelines:")
for guideline in self.exam_guidelines:
print(f"\t{guideline}")
print("Questions:")
for i, question in enumerate(self.questions):
print(f"\t{i+1}. {question}")
print(f"\t\t{self.question_guidelines[i]}")
# Additional methods can be added here