numbers = [[0, 1, 2], [0], [], [2, 4, 0], [0, 0], [0, 20, 3, 10, 0]]
remove_zero_sides(numbers)
assert numbers == [[1, 2], [], [], [2, 4], [], [20, 3, 10]]
more_numbers = [[0], [], [0, 0], [0, 1], [2, 0]]
assert remove_zero_sides(more_numbers) == [[], [], [], [1], [2]]Module 12 Assignments
Short Project 10
Due date: Wednesday, November 19, 2025 at 9pm
Short Programming projects are submitted during our weekly 45-minute in-person lab sessions. Each lab sessions is guided by two TAs. The instructions for the short project will be available only during the lab sessions. To schedule your lab session go to the weekly lab session spreadsheet in Short Project Dates and Instructions.
Programming Problems
Due date: Wednesday, November 19, 2025 at 9pm
Programming Problem 23
Write a remove_zero_sides function that given a 2D list as argument, it mutates and returns the list removing any first and last values that are equal to zero. Name your file filter.py.
Test cases:
Programming Problem 24
Due date: Wednesday, November 12, 2025 at 9pm
Write a lowercase_items function that given a 2D list of strings as argument, it mutates and returns the list lowercasing all strings in each sublist. You can assume all items in the lists are strings. You can use the .lower() string method. Name your file lowercasing.py
Test cases:
words = [["A", "B", "C"], [], ["BANANA", "Apple", "pineapple"]]
lowercase_items(words)
assert words == [["a", "b", "c"], [], ["banana", "apple", "pineapple"]]
more_words = [["A"], ["Monica"]]
assert lowercase_items(more_words) == [["a"], ["monica"]]