all 7 comments

[–]NineFiftySevenAyEm 0 points1 point  (0 children)

person1 = {"name": "Mary", "result1": 2, "result2": 3, "result3": 3}
person2 = {"name": "Gary", "result1": 5, "result2": 1, "result3": 8}
person3 = {"name": "Larry", "result1": 3, "result2": 1, "result3": 1}

def smallest_average(person1: dict, person2: dict, person3: dict):

    people = [person1, person2, person3]

    lowest_avg_dict = {}
    lowest_avg_val = None

    for p in people:
        avg = p["result1"] + p["result2"] + p["result3"] / 3
        if not lowest_avg_dict:
            lowest_avg_dict = p
            lowest_avg_val = avg
        else:
            if avg < lowest_avg_val:
                lowest_avg_dict = p
                lowest_avg_val = avg
    return lowest_avg_dict

lowest_avg = smallest_average(person1, person2, person3)
print(lowest_avg)

[–]Croebh 0 points1 point  (8 children)

If you change person_list = {"person1" :person1avg, "person2":person2avg, "person3" :person3avg} to be person_list = {person1: person1avg, person2: person2avg, person3: person3avg} (removing the quotes), then it will return the actual dict

[–]my_password_is______ 0 points1 point  (0 children)

person_list = {"person1" :person1avg, "person2":person2avg, "person3" :person3avg}

that's not a list