Triângulosterisco em python [duplicado]

Esta pergunta já tem uma resposta aqui:

Como recriar o triângulo da pirâmide? 3 respostas

Tenho que escrever uma função recursiva asterisk_triangle que pega um número inteiro e depois retorna um triângulo de asterisco que consiste em muitas linha

Por exemplo, este é um triângulo asterisco de 4 linha

*
**
***
****

Vim com esta função:

def asterisk_triangle(n):
    """
    takes an integer n and then returns an
    asterisk triangle consisting of (n) many lines
    """
    x = 1
    while (x <= n):
        print("*" * x)
        x = x + 1
    return

ambém tive que criar um triângulo asterisco de cabeça para baixo, manipulando a primeira funçã

Vim com esta função e resultado:

def upside_down_asterisk_triangle(n):
     """
     takes an integer n and then returns a backwards
     asterisk triangle consisting of (n) many lines
     """
     x = 0
     while (x < n):
          print("*" * (n-x))
     x = x + 1
     return


****
***
**
*

gora tenho que manipular essas funções para criar um triângulo asterisco para trá

   *
  **
 ***
****

E um triângulo asterisco invertid

****
 ***
  **
   *

Quais funções devo implementar?

Tentei usar o comando reverse string [:: - 1] após a função e ela não funciono

questionAnswers(1)

yourAnswerToTheQuestion