Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Need help with a Python recursion problem: You must include appropriate doc stri

ID: 3796501 • Letter: N

Question

Need help with a Python recursion problem:

You must include appropriate doc strings (e.g. strings that appear on the line following the function header) to the class that clearly and concisely describe what the functions are doing. The functions written for this assignment must be recursive and must not use global variables. The functions may not use loops. In some cases certain built-in Python functions are disallowed. Function that are described as returning values should not do any printing. Please note that local variables are absolutely fine in any of the functions.

Write a recursive function recSymPrint() that takes two characters and two integers n and indent as parameters and prints an hour glass pattern using the characters. The first character is used for the top triangle in the hour glass and the second character is used for the bottom triangle in the hour glass. The number of characters in the top line of the pattern and in the bottom line of the pattern (i.e. the biggest lines for each of the characters) is n. The indent parameter represents the indentation used in the first line of the pattern and in the last line of the pattern. The indentation increases in the top triangle (using the first character) and decreases in the bottom triangle (using the second character). If n is 0 or negative or one of the characters is the empty string, the function doesn't print anything. You should assume that the indent parameter will be non-negative (i.e. >= 0). The following shows several examples of patterns using different characters, values of n, and amount of indentation.

Python 3.4.1 Shell File Edit Shell Debug Options Windows Help rec Sym Print. 10 0) rec Sym Print. 5, 5) rec Sym Print. 6, 0) rec Sym Print. A', 6, 0) rec Sym Print. Ln: 26 Col: 4

Explanation / Answer

def recSymPrint(c1, c2, n, indent):
'''takes two characters and two integers n and indent as parameters
and prints a double triangular pattern using the characters'''
if n > 0:
print('{}{}'.format(' '*indent,c1*n))
recSymPrint(c1, c2, n-1, indent+1)
print('{}{}'.format(' '*indent,c2*n))
  

========================================================================