This commit is contained in:
Chris Proctor 2025-07-08 07:43:06 -04:00
commit fdce178fd4
2 changed files with 26 additions and 21 deletions

View File

@ -10,24 +10,17 @@
# each and instead write code which returns the expected values. # each and instead write code which returns the expected values.
def count_people(people): def count_people(people):
"""Counts the number of people. #Counts the number of people in the list/dict sent
count = len(people)
return count
>>> count_people(family)
5
>>> count_people(friends)
10
"""
raise NotImplementedError()
def get_email(people, name): def get_email(people, name):
"""Returns the named person's email address. If there is no such person, returns None. #Returns the named person's email address. If there is no such person, returns None.
for person in people:
>>> get_email(family, "Tad Winters") if person.get("name") == name:
"ligula.aenean@hotmail.edu" return person.get("email")
>>> get_email(friends, "Tad Winters") return None
None
"""
raise NotImplementedError()
def count_favorite_colors(people, name): def count_favorite_colors(people, name):
"""Returns the number of colors liked by the named person. If there is no such person, returns None. """Returns the number of colors liked by the named person. If there is no such person, returns None.
@ -37,7 +30,11 @@ def count_favorite_colors(people, name):
>>> count_favorite_colors(family, "Raphael Chambers") >>> count_favorite_colors(family, "Raphael Chambers")
1 1
""" """
raise NotImplementedError() for person in people:
if person.get("name") == name:
fav_colors = len(person.get("favorite_colors"))
return fav_colors
return None
def people_who_like_color(people, color): def people_who_like_color(people, color):
"""Returns a list containing only those people who like the given color. """Returns a list containing only those people who like the given color.
@ -57,7 +54,8 @@ def people_who_like_color(people, color):
>>> people_who_like_color(family, "indigo") >>> people_who_like_color(family, "indigo")
[] []
""" """
raise NotImplementedError() return [person for person in people if color in person.get("favorite_colors", [])]
def count_people_who_like_color(people, color): def count_people_who_like_color(people, color):
"""Returns the number of people who like a given color. """Returns the number of people who like a given color.
@ -67,7 +65,7 @@ def count_people_who_like_color(people, color):
>>> count_people_who_like_color(family, "orange") >>> count_people_who_like_color(family, "orange")
1 1
""" """
raise NotImplementedError() return len(people_who_like_color(people,color))
def get_color_dict(people): def get_color_dict(people):
"""Returns a dict showing how many people like each color. """Returns a dict showing how many people like each color.
@ -86,7 +84,14 @@ def get_color_dict(people):
"orange": 1, "orange": 1,
} }
""" """
raise NotImplementedError() fav_color_dict = {}
for person in people:
for color in person.get("favorite_colors", []):
if color in fav_color_dict:
fav_color_dict[color] += 1
else:
fav_color_dict[color] = 1
return fav_color_dict

View File

@ -36,7 +36,7 @@ family = [
friends = [ friends = [
{ {
"name": "Connor Rodriguez", "name": "Connor Rodriguez",
"email": "maecenas@yahoo.edu", "email": "maecenas@yahoo.edu",
"favorite_colors": ["aqua", "teal", "sea foam", "turquoise"], "favorite_colors": ["aqua", "teal", "sea foam", "turquoise"],
}, },