Question
The following function takes a list arglist and returns a pair of lists, evens and odds , such that evens consists of the elements at
The following function takes a list arglist and returns a pair of lists, evens and odds, such that evens consists of the elements at even-numbered positions of arglist, i.e., arglist[0],arglist[2], etc.; and odds consists of the elements at odd-numbered positions of arglist, i.e., arglist[1], arglist[3], etc.
def odds_and_evens(arglist): evens = [] odds = [] for i in range(len(arglist)): ith_element = arglist[i] if i % 2 == 0: evens.append(ith_element) else: odds.append(ith_element) assert list_lengths_ok_after_iter_i(arglist, i, evens, odds) return (evens,odds)
Write a function list_lengths_ok_after_iter_i(arglist, i, evens, odds) that will be called by the assert at the end of each iteration of the loop shown above. The purpose of this function is to check that, at the end of the ith iteration, the lengths of the two lists evens and odds are the right values.
Your function list_lengths_ok_after_iter_i(arglist, i, evens, odds) should behave as follows. Given:
arglist: the list being split into even- and odd-position lists;
i: the current value of the loop index;
evens and odds: the lists of even- and odd-position elements of arglist, respectively, up to (and including) the current iteration of the loop;
returns:
True if, at the end of iteration i, the lists evens and oddsare each of the right length.
False otherwise.
Programming Requirements
The function specified above should be implemented without using an if statement; also, you must not use a while or forloop. You can use the Boolean operators and, or, and not if necessary.
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