Skip to content

Instantly share code, notes, and snippets.

@gchacaltana
Created June 28, 2017 05:53
Show Gist options
  • Save gchacaltana/a50610fc97320fd8094c0fff96af5685 to your computer and use it in GitHub Desktop.
Save gchacaltana/a50610fc97320fd8094c0fff96af5685 to your computer and use it in GitHub Desktop.
Programa que genera el triangulo de pascal en python.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Programa que imprime en pantalla el triangulo de pascal"""
__author__ = 'Gonzalo Chacaltana Buleje'
#importamos el paquete sys para obtener los valores argv enviados por consola.
import sys
def triangle_pascal(rows):
"""Funcion que recibe como parametro el número de filas del triángulo"""
#si el número de filas es cero devolvemos vacío.
if rows == 0:
return []
#si el número de filas es 1, devolvemos triangulo con una sola fila.
elif rows == 1:
return [[1]]
else:
#de lo contrario armamos el triángulo segun el número de filas
new_row = [1]
#llamamos nuevamente a la función para armar el triángulo
result = triangle_pascal(rows-1)
#guardamos la última fila.
last_row = result[-1]
#iteramos la cantidad de veces del valor de filas - 1.
for i in range(len(last_row)-1):
#agregamos los valores a la nueva fila.
new_row.append(last_row[i] + last_row[i+1])
new_row += [1]
#agregamos a la matriz del triángulo la nueva fila
result.append(new_row)
#devolvemos el array con los valores del triángulo.
return result
#main del programa
if __name__ == "__main__":
#almacenamos el número de filas enviado como argumento por consola
rows = int(sys.argv[1]) if len(sys.argv) > 1 else int(0)
#mostramos el triángulo con el número de filas enviado.
print triangle_pascal(rows)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment