Escreva uma função que gera um triângulo lateral de altura 2^* n-1 e n largura. Por exemplo, a saída para n=4 seria:
*
**



**
*

Passo 1

O enunciado pede uma função que, dado um inteiro n, imprima um triângulo lateral de altura 2n-1 e largura máxima n. Vamos usar estruturas de repetição para montar as linhas de asteriscos.

Passo 2

Definimos a função com um parâmetro inteiro n. Dentro dela, precisamos de dois laços: um para a parte ascendente (1 até n) e outro para a parte descendente ( n-1 até 1).

Passo 3

Na parte ascendente, usamos um loop for que varia o contador i de 1 até n. Em cada iteração, imprimimos exatamente i asteriscos. Assim, as linhas crescem de 1 até n.

Passo 4

Para a parte descendente, iniciamos um segundo for que varia o contador i de n-1 até 1 (passo -1). Em cada iteração, imprimimos i asteriscos, fazendo as linhas diminuírem de n-1 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 2n-1.

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)

Exercícios relacionados