Created
September 30, 2023 22:04
-
-
Save TheHumanistX/90846d12396e8f300737498e88839dc2 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Write your solution here | |
def add_student(students: dict, student_name: str): | |
students[student_name] = [] | |
def grade_average(courses: list): | |
sum = 0 | |
for course in courses: | |
sum += course[1] | |
grades_average = sum / len(courses) | |
return grades_average | |
def print_student(students: dict, student_name: str): | |
if student_name not in students: | |
print(f'{student_name}: no such person in the database') | |
elif students[student_name] == []: | |
print(f'{student_name}:') | |
print(' no completed courses') | |
else: | |
courses = students[student_name] | |
print(f'{student_name}:') | |
print(f' {len(courses)} completed courses: ') | |
for course in courses: | |
print(f' {course[0]} {course[1]}') | |
print(f' average grade {grade_average(courses)}') | |
def add_course(students: dict, student_name: str, course_info: tuple): | |
courses = students[student_name] | |
not_repeating = True | |
if len(courses) > 0: | |
for course in courses: | |
not_repeating = True if course[0] != course_info[0] else False | |
if course_info[1] > 0 and not_repeating: | |
courses.append(course_info) | |
else: | |
for i in range(len(courses)): | |
# print(f'courses[i][0]: {courses[i][0]}, courses[i][1]: {courses[i][1]}') | |
# print(f'course_info[0]: {course_info[0]}, course_info[1]: {course_info[1]}') | |
if courses[i][0] == course_info[0] and courses[i][1] < course_info[1]: | |
# print(f'courses[i][0] {courses[i][0]} == course_info[0] {course_info[0]}') | |
# print(f'courses[i][1] {courses[i][1]} < course_info[1] {course_info[1]}') | |
courses[i] = course_info | |
# print(f'course now: {courses[i]}') | |
# students[student_name]['courses'] = course | |
def summary(students: dict): | |
most_courses = ('', 0) | |
# for key, value in students.items(): | |
# if len(student) > most_courses: | |
# most_courses = () | |
print(f'students {len(students)}') | |
# def main(): | |
# students = {} | |
# add_student(students, "Peter") | |
# add_course(students, "Peter", ("Introduction to Programming", 3)) | |
# add_course(students, "Peter", ("Advanced Course in Programming", 2)) | |
# add_course(students, "Peter", ("Software Development Methods", 1)) | |
# add_course(students, "Peter", ("Software Development Methods", 5)) | |
# add_student(students, "Eliza") | |
# print_student(students, "Peter") | |
# print_student(students, "Eliza") | |
# print_student(students, "Jack") | |
# main() | |
if __name__ == '__main__': | |
students = {} | |
add_student(students, "Peter") | |
add_course(students, "Peter", ("Introduction to Programming", 3)) | |
add_course(students, "Peter", ("Advanced Course in Programming", 2)) | |
add_student(students, "Eliza") | |
print_student(students, "Peter") | |
print_student(students, "Eliza") | |
print_student(students, "Jack") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment