# Lab_7_Exercise_1_Problem_8.py # Let’s write a recursive function that reverses a list. # Also, let’s write the main part of the program from which we will be calling (i.e., testing) our functions. # Recursive definition of a list: a list + list element # a list + list element # a list + list element # ... # an empty list + list element # OR #a list of 1 element + list element def reverseList(aList): if len(aList) <= 1: result = aList else: lastElement = [aList[len(aList)-1]] result = lastElement + reverseList(aList[:-1]) return result #OR ##def reverseList(aList): ## if len(aList) <= 1: ## return aList ## else: ## return [aList[len(aList)-1]] + reverseList(aList[:-1]) #OR # Recursive definition of a list: list element + a list # list element + a list # list element + a list # ... # list element + an empty list # OR # list element + a list of 1 element ##def reverseList2(aList): ## if len(aList) <= 1: ## result = aList ## else: ## firstElement = [aList[0]] ## result = reverseList2(aList[1:]) + firstElement ## return result ## def reverseList2(aList): if len(aList) <= 1: return aList else: return reverseList2(aList[1:]) + [aList[0]] #Main part of the program aList = input("Enter a list of anything you would like to reverse: ").split() result = reverseList(aList) print("reverseList reverses {} and produces {}.".format(aList, result)) print() result = reverseList2(aList) print("reverseList2 reverses {} and produces {}.".format(aList, result))