Created the first two functions where you are counting the number of people - here you use the len command to count the number of people. For the second function returned the named persons email address by using a for loop statment to help.

This commit is contained in:
erbrown
2025-12-13 20:27:09 -05:00
parent 280df8324a
commit ba8f01aabc
2 changed files with 64 additions and 60 deletions

View File

@@ -17,7 +17,7 @@ def count_people(people):
>>> count_people(friends) >>> count_people(friends)
10 10
""" """
raise NotImplementedError() return len(people)
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.
@@ -27,7 +27,11 @@ def get_email(people, name):
>>> get_email(friends, "Tad Winters") >>> get_email(friends, "Tad Winters")
None None
""" """
raise NotImplementedError() for person in people:
if name == person['name']:
return(person['email'])
return None
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.

View File

@@ -22,69 +22,69 @@ class TestCountPeople(TestCase):
self.assertEqual(count_people(family), 5) self.assertEqual(count_people(family), 5)
self.assertEqual(count_people(friends), 10) self.assertEqual(count_people(friends), 10)
class TestGetEmail(TestCase): # class TestGetEmail(TestCase):
def test_returns_email_when_person_found(self): # def test_returns_email_when_person_found(self):
self.assertEqual(get_email(family, "Perry Calderon"), "mus.donec@outlook.org") # self.assertEqual(get_email(family, "Perry Calderon"), "mus.donec@outlook.org")
self.assertEqual(get_email(friends, "Joy Tate"), "risus.a.ultricies@hotmail.org") # self.assertEqual(get_email(friends, "Joy Tate"), "risus.a.ultricies@hotmail.org")
def test_returns_none_when_person_missing(self): # def test_returns_none_when_person_missing(self):
self.assertEqual(get_email(family, "Ken Kesey"), None) # self.assertEqual(get_email(family, "Ken Kesey"), None)
class TestCountFavoriteColors(TestCase): # class TestCountFavoriteColors(TestCase):
def test_returns_len_favorite_colors_when_person_found(self): # def test_returns_len_favorite_colors_when_person_found(self):
self.assertEqual(count_favorite_colors(family, "Tad Winters"), 2) # self.assertEqual(count_favorite_colors(family, "Tad Winters"), 2)
self.assertEqual(count_favorite_colors(friends,"Connor Rodriguez"), 4) # self.assertEqual(count_favorite_colors(friends,"Connor Rodriguez"), 4)
self.assertEqual(count_favorite_colors(friends, "Yuli Reynolds"), 0) # self.assertEqual(count_favorite_colors(friends, "Yuli Reynolds"), 0)
def test_returns_none_when_person_missing(self): # def test_returns_none_when_person_missing(self):
self.assertEqual(count_favorite_colors(family, "Ken Kesey"), None) # self.assertEqual(count_favorite_colors(family, "Ken Kesey"), None)
class TestPeopleWhoLikeColor(TestCase): # class TestPeopleWhoLikeColor(TestCase):
def test_returns_correct_length(self): # def test_returns_correct_length(self):
self.assertEqual(len(people_who_like_color(family, "blue")), 2) # self.assertEqual(len(people_who_like_color(family, "blue")), 2)
self.assertEqual(len(people_who_like_color(family, "purple")), 0) # self.assertEqual(len(people_who_like_color(family, "purple")), 0)
def test_returns_full_dicts(self): # def test_returns_full_dicts(self):
result = people_who_like_color(family, "orange") # result = people_who_like_color(family, "orange")
self.assertEqual(len(result), 1) # self.assertEqual(len(result), 1)
self.assertEqual(result[0]["email"], "auctor.odio@icloud.ca") # self.assertEqual(result[0]["email"], "auctor.odio@icloud.ca")
class TestCountPeopleWhoLikeColor(TestCase): # class TestCountPeopleWhoLikeColor(TestCase):
def test_returns_correct_count(self): # def test_returns_correct_count(self):
self.assertEqual(count_people_who_like_color(friends, "grey"), 2) # self.assertEqual(count_people_who_like_color(friends, "grey"), 2)
self.assertEqual(count_people_who_like_color(friends, "beige"), 1) # self.assertEqual(count_people_who_like_color(friends, "beige"), 1)
self.assertEqual(count_people_who_like_color(friends, "cornflower"), 0) # self.assertEqual(count_people_who_like_color(friends, "cornflower"), 0)
class TestGetColorDict(TestCase): # class TestGetColorDict(TestCase):
def test_returns_correct_dict(self): # def test_returns_correct_dict(self):
familyExpected = { # familyExpected = {
"aqua": 2, # "aqua": 2,
"red": 2, # "red": 2,
"blue": 2, # "blue": 2,
"black": 2, # "black": 2,
"white": 1, # "white": 1,
"grey": 1, # "grey": 1,
"yellow": 2, # "yellow": 2,
"orange": 1, # "orange": 1,
} # }
friendsExpected = { # friendsExpected = {
"lime": 1, # "lime": 1,
"grey": 2, # "grey": 2,
"sea foam": 1, # "sea foam": 1,
"aqua": 2, # "aqua": 2,
"teal": 1, # "teal": 1,
"white": 1, # "white": 1,
"red": 2, # "red": 2,
"black": 2, # "black": 2,
"blue": 2, # "blue": 2,
"tan": 1, # "tan": 1,
"sand": 1, # "sand": 1,
"green": 1, # "green": 1,
"beige": 1, # "beige": 1,
"turquoise": 1, # "turquoise": 1,
"yellow": 2, # "yellow": 2,
} # }
self.assertEqual(get_color_dict(family), familyExpected) # self.assertEqual(get_color_dict(family), familyExpected)
self.assertEqual(get_color_dict(friends), friendsExpected) # self.assertEqual(get_color_dict(friends), friendsExpected)
main() # main()