Print Triangle (Bottom-Up) Recursively

Print inverted triangle recursively.

IntermediatePhase 3 - Level 3: Pattern RecursionExample 4 of 10
print-triangle-bottom-up-recursively.py
1def print_stars(n):
2 if n == 0:
3 return
4 print("*", end="")
5 print_stars(n - 1)
6
7def print_triangle(n, row=1):
8 # Base case
9 if row > n:
10 return
11
12 # Recurse first
13 print_triangle(n, row + 1)
14 # Then print current row
15 print_stars(row)
16 print()
17
18# Test
19n = int(input("Enter rows: "))
20print_triangle(n)

Output

Enter rows: 5
*****
****
***
**
*

What's going on

Recurse first, then print (reverse order).

Key Concepts:

Recurse before printing
Prints in reverse order
Creates inverted triangle