Inverse cascade challenge - Recursion
Separate grow and shrink functions are not necessary. Instead you can have a single function that prints, recurses and prints again the same value when the recursion returns.

For example like this:

def inverse_cascade(n, digits=1):
    n = str(n)
    print(n[:digits])
    if digits &lt; len(n):
        inverse_cascade(n, digits+1)
        print(n[:digits])