Em Python dá pra aproveitar o fato de que uma string pode ser "multiplicada" por um número: por exemplo, "a" * 3
resulta em "aaa"
. Sendo assim, fica simples construir cada linha:
while True:
try:
height = int(input('height: '))
if 1 <= height <= 8:
break
else:
print('número deve estar entre 1 e 8')
except ValueError:
print('Você não digitou um número')
print("pirâmide:", height)
for i in range(1, height + 1):
print((" " * (height - i)) + ("#" * i))