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
Precondition: all integers in
>>> 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
>>> 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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started