''' 20210917 Robin Dawes ''' def count_memberships(list_of_lists, target): '''takes a list of lists and an object (any type) returns the number of lists the object is in returns -1 if there is a problem with the list of lists''' count = 0 if type(list_of_lists) is not list: return -1 else: for a_list in list_of_lists: if type(a_list) is not list: return -1 elif target in a_list: count += 1 return count list1 = [1, 2, 4, 8] list2 = ['a', 'b', 8, 'dog', 'cat', False] list3 = ['salt', 'pepper', 'oregano', "za'atar", "basil", "turmeric"] list4 = ['basil', False, list1] list5 = [8, 8, 8, 8] some_lists = [list1, list2, list3, list4, list5] def test_count_memberhips_1(): assert count_memberships(some_lists, 8) == 3 def test_count_memberships_2(): assert count_memberships([[],[1]], 1) == 1 def test_count_memberships_3(): assert count_memberships(list5, 8) == -1 def test_count_memberships_4(): assert count_memberships([list1,4], 4) == -1 def test_count_memberships_5(): assert count_memberships(some_lists, "basil") == 2 def test_count_memberships_6(): assert count_memberships(1, 4) == -1