This commit is contained in:
2019-08-02 18:09:46 +02:00
parent 277214e1c3
commit 3c85bbe9bf
3 changed files with 11 additions and 7 deletions
+4 -1
View File
@@ -29,8 +29,11 @@ try:
elif input_or_output == "output": elif input_or_output == "output":
_subject = user_input[1] _subject = user_input[1]
subject_get = subject.get_subject(subjects, _subject) subject_get = subject.get_subject(subjects, _subject)
user_IO.user_output(subject_get.return_average_subject) user_IO.user_output(subject_get.name, subject_get.return_grade_categories(),
[subject_get.return_average_of_category(i) for i in subject_get.return_grade_categories()],
subject_get.return_average_of_subject())
raise SystemError raise SystemError
except Exception as e: except Exception as e:
print('ERROR' + str(e)) print('ERROR' + str(e))
raise
+4 -3
View File
@@ -18,17 +18,18 @@ class Subject:
return self.grades[category][0] return self.grades[category][0]
def return_grade_categories(self): # Return all categories def return_grade_categories(self): # Return all categories
return [i for i in self.grades] return self.grades
def return_average_of_category(self, category): # Return average of one categorie def return_average_of_category(self, category): # Return average of one categorie
return sum(self.grades[category][0]) / len(self.grades[category][0]) _list = [int(i.grade) for i in self.grades[category][0]]
return sum(_list) / len(self.grades[category][0])
def return_average_of_subject(self): def return_average_of_subject(self):
rating_sum = 0 rating_sum = 0
grade_sum = 0 grade_sum = 0
for i in self.grades: for i in self.grades:
rating_sum += self.grades[i][1] rating_sum += self.grades[i][1]
grade_sum += self.return_average_of_category(i) grade_sum += self.return_average_of_category(i)*self.grades[i][1]
return grade_sum / rating_sum return grade_sum / rating_sum
+3 -3
View File
@@ -38,7 +38,7 @@ def user_output(subject, categories, average, average_subject):
for counter, category in enumerate(categories): for counter, category in enumerate(categories):
print("The average in {} is {} with these grades:".format(category, average[counter])) print("The average in {} is {} with these grades:".format(category, average[counter]))
string = "" string = ""
for grade in categories[category]: for grade in categories[category][0]:
string += str(grade) + ", " string += str(grade.grade) + ", "
print(string + "\n") print(string + "\n")
print("The average of {} is {}.".format(subject, average_subject)) print("The average of {} is {}.".format(subject, average_subject))