Escreva uma função que gera um triângulo lateral de altura
e
largura. Por exemplo, a saída para
seria:
*
**
**
*
*
**
*
Passo 1
O enunciado pede uma função que, dado um inteiro
, imprima um triângulo lateral de altura
e largura máxima
. Vamos usar estruturas de repetição para montar as linhas de asteriscos.
Passo 2
Definimos a função com um parâmetro inteiro
. Dentro dela, precisamos de dois laços: um para a parte ascendente (1 até
) e outro para a parte descendente (
até 1).
Passo 3
Na parte ascendente, usamos um loop for que varia o contador
de 1 até
. Em cada iteração, imprimimos exatamente
asteriscos. Assim, as linhas crescem de 1 até
.
Passo 4
Para a parte descendente, iniciamos um segundo for que varia o contador
de
até 1 (passo -1). Em cada iteração, imprimimos
asteriscos, fazendo as linhas diminuírem de
até 1.
Passo 5
Na impressão de cada linha, podemos usar a repetição de strings (em Python, por exemplo, “*i”) para gerar rapidamente a sequência de asteriscos. Isso evita escrever um loop interno apenas para concatenar caracteres.
Passo 6
Com esses dois laços bem definidos, a função exibe primeiro a subida do triângulo e depois a descida, obedecendo a altura total de
.
Resposta
def gerar_triangulo(n):
# Parte ascendente: de 1 até n
for i in range(1, n+1):
print(’’ * i)
# Parte descendente: de n-1 até 1
for i in range(n-1, 0, -1):
print(’’ * i)
# Parte ascendente: de 1 até n
for i in range(1, n+1):
print(’’ * i)
# Parte descendente: de n-1 até 1
for i in range(n-1, 0, -1):
print(’’ * i)