@extends('template') @section('title') Lab 12: Part 1: Non-fruitful Recursion @stop @section('content') # Lab 12: Part 1: Non-fruitful Recursion Create a new file called `lab12.py`. All the functions you write today will be **recursive**, and in this section, **non-fruitful**. Your functions will print, but not return values. Later on today, you'll move on to **fruitful** recursive functions. ## Task 0. divideBy3
Partner A
Write a function called `divideBy3` that will take a number and divide the number by 3, printing the number unless it is less than or equal to 1. **This function must be recursive**. ```py >>> divideBy3(3) 3 >>> divideBy3(1) >>> divideBy3(0) >>> divideBy3(-4) >>> divideBy3(15) 15 5.0 1.6666666666666667 >>> divideBy3(100) 100 33.333333333333336 11.111111111111112 3.703703703703704 1.234567901234568 ``` ## Task 1. Recursive triangles
Partner B
In this task, you will create some recursive patterns using asterisks. Write a Python function called `asteriskTriangle` that will take a `length` parameter and draw a triangle pattern composed of lines of asterisks that get successively smaller with each line. **This function must be recursive**.

Example invocations of `asteriskTriangle`:
```py >>> asteriskTriangle(1) * >>> asteriskTriangle(3) *** ** * >>> asteriskTriangle(5) ***** **** *** ** * >>> asteriskTriangle(15) *************** ************** ************* ************ *********** ********** ********* ******** ******* ****** ***** **** *** ** * >>> asteriskTriangle(0) >>> ``` ## Task 2. switch
Partner B
Write a function called `switch` that will take a length parameter and draw a pattern like the examples below. The examples below always use asterisks and dashes:`*` and `-`. You can change those if you like, or, even better, add parameters so the user can specify their own symbols. **This function must be recursive**. ```py >>> switch(0) >>> switch(1) >>> switch (2) ** >>> switch(3) ***--- ** ---*** >>> switch(6) ******------ *****----- ****---- ***--- ** ---*** ----**** -----***** ------****** >>> switch(8) ********-------- *******------- ******------ *****----- ****---- ***--- ** ---*** ----**** -----***** ------****** -------******* --------******** ``` @include('/labs/lab12/_toc') @stop