Question: Your task in this prep is to implement each of the following recursive functions on nested lists, using the following steps for *Recursive Function Design*:

Your task in this prep is to implement each of the following recursive functions on nested lists, using the following steps for *Recursive Function Design*:

1. Identify the recursive structure of the input (in this case, always a nested list), and write down the code template for nested lists:

def f(obj: Union[int, List]) -> ...: if isinstance(obj, int): ... else: ... for sublist in obj: ... f(sublist) ... ...

2. Implement the base case(s) directly (in this case, a single integer). 3. Write down a concrete example with a somewhat complex argument, (in this case, a nested list with around 3 sub-nested-lists), and then write down the relevant recursive calls and what they should return. 4. Determine how to combine the recursive calls to compute the correct output. Make sure you can express this in English first, and then implement your idea.

HINT: The implementations here should be similar to ones you've seen before in the readings or comprehension questions. """ from typing import Union, List

def num_positives(obj: Union[int, List]) -> int: """Return the number of positive integers in .

Remember, 0 is *not* positive.

>>> num_positives(17) 1 >>> num_positives(-10) 0 >>> num_positives([1, -2, [-10, 2, [3], 4, -5], 4]) 5 """ pass

def nested_max(obj: Union[int, List]) -> int: """Return the maximum integer stored in nested list .

Return 0 if does not contain any integers.

Precondition: all integers in are > 0.

>>> nested_max(17) 17 >>> nested_max([1, 2, [1, 2, [3], 4, 5], 4]) 5 """ pass

def max_length(obj: Union[int, List]) -> int: """Return the maximum length of any list in nested list .

The *maximum length* of a nested list is defined as: 1. 0, if is a number. 2. The maximum of len(obj) and the lengths of the nested lists contained in , if is a list.

>>> max_length(17) 0 >>> max_length([1, 2, [1, 2], 4]) 4 >>> max_length([1, 2, [1, 2, [3], 4, 5], 4]) 5 """ pass

if __name__ == '__main__': import doctest doctest.testmod()

import python_ta python_ta.check_all()

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!