Hola ahora veremos como crear el triangulo de pascal, primero lo haremos en python despues en html y javascript.
como dije primero en python asi que pedimos el numero de lineas asi
try: #aqui ponemos un try por si el usuario ingresa un valor no numerico
lineas=int(input("Dame el numero de lineas: "))
despues creamos un for el ciclo se repetira segun el numero de lineas del triangulo
for x in range(lineas):
dentro de este se encuentran 2 for anidados, el primero es para poner los espacios en blanco asi
for e in range(lineas-x+1):
print(end=" ")
despues inicializamos la variable valor a 1 y el segundo for imprime la linea de la piramide correspondiente con el comado print y el valor de la variable valor mas un espacio y se calcula el siguiente valor de la linea con la formula dentro del for
valor=1
for y in range(0,x+1): #for anidado
print(valor," ",end="") #imprime la variable valor
valor=int(valor*(x-y)/(y+1)) #formula para calcular el valor siguiente de la linea de la piramide
saliendo del for se usa print para un salto de linea y mas abajo la excepción
print("")
except ValueError:
print("Error al ingresar algun dato")
bueno aqui les dejare el codigo completo
try:
lineas=int(input("Dame el numero de lineas: "))
for x in range(lineas):
for e in range(lineas-x+1):
print(end=" ")
valor=1
for y in range(0,x+1):
print(valor," ",end="")
valor=int(valor*(x-y)/(y+1))
print("")
except ValueError:
print("Error al ingresar algun dato")
bueno ami no me gusta ese asunto de usar la formula y otra cosa se distorciona si pones valores altos asi quedaria como se muestra en la imagen si lo ejecutamos
asi que hice mi version en html y javascript y un poco mas visual aqui el codigo y este no usa la formula de python
asi que primero creamos el cuadro de texto, el boton, el div y la marquesina y lo centramos asi
<html>
<head><title>triangulo de pascal</title>
</head>
<body>
<marquee>Creando el triangulo de pascal ...::::By Flamer::::...</marquee>
<br><br>
<center>
Ingresa el numero de filas:<input type="text" id="long" style="text-align:center;"><input type="button" value="Generar" onclick="Generar()"><br><br>
<div id="tri"></div>
dentro de la etiqueta <script> creamos la funcion generar
<script>
function Generar() //funcion generar
{
var largo=document.getElementById("long").value //inicializamos la variable valor a el numero dado por el usuario
var code="",a=0,b=0,c="",d="" //declaramos las variables a usar mas adelante
for(var x=0;x<largo;x++) //ciclo for y otro ciclo for anidado para crear los cuadros de textos
{
for(var y=0;y<=x;y++) //for anidado
{
code+="<input type='text' id='" + x + "-" + y + "' style='background-color:black;color:white;width:50;height:50;text-align:center;'>" //creo los cuadros de textos y se almasenan en la variable code
}
code+="<br>" //inserto un salto de linea
}
document.getElementById("tri").innerHTML=code //inserto los cuadros de texto creados en el div
bueno ahora creamos otros for y for anidados para ingresar los valores a la piramide de pascal
for(x=0;x<largo;x++) //este for se repite segun la cantidad de lineas
{
for(y=0;y<=x;y++) //este for anidado se repite segun el valor de x, o sea segun el numero de cuadros de la linea
{
if(y==0) //if que pregunta si la variable "y" es igual a cero si es asi entra e ingresa el valor de 1 al cuadro espesifico
{
document.getElementById(x + "-" + y).value=1 //aqui ingresa 1 al cuadro correspondiente
}
else if(y==x)//if que pregunta si la variable "y" es igual a "x" si es asi entra e ingresa el valor de 1 al cuadro espesifico
{
document.getElementById(x + "-" + y).value=1 //aqui ingresa 1 al cuadro correspondiente
}
else if(y==1 || (y+1)==x) //if que pregunta si la variable "y" es igual a 1 o si la variable "y+1" es igual a "x" si es asi el cuadro especifico de la piramide valdra x, si se cumple alguna de las condiciones entra al if
{
document.getElementById(x + "-" + y).value=x //ingresa el valor de x a el cuadro
}
else if(document.getElementById(x + "-" + y).value=="") //if que pregunta si el cuadro a seguir esta vacio, si es asi entra
{
a=x-1 //le resta 1 a x
b=y-1 //le resta 1 a y
c=document.getElementById(a + "-" + b).value //le pasa el valor de ese cuadro a la variable c
d=document.getElementById(a + "-" + y).value //le pasa el valor de ese cuadro a la variable d
document.getElementById(x + "-" + y).value=parseInt(c)+ parseInt(d) //suma los cuadros que se encuentran arriba de el cuadro que estamos para calcular el valor de este
}
}
}
bueno aqui el codigo completo
<html>
<head><title>triangulo de pascal</title>
</head>
<body>
<marquee>Creando el triangulo de pascal ...::::By Flamer::::...</marquee>
<br><br>
<center>
Ingresa el numero de filas:<input type="text" id="long" style="text-align:center;"><input type="button" value="Generar" onclick="Generar()"><br><br>
<div id="tri"></div>
<script>
function Generar()
{
var largo=document.getElementById("long").value
var code="",a=0,b=0,c="",d=""
for(var x=0;x<largo;x++)
{
for(var y=0;y<=x;y++)
{
code+="<input type='text' id='" + x + "-" + y + "' style='background-color:black;color:white;width:50;height:50;text-align:center;'>"
}
code+="<br>"
}
document.getElementById("tri").innerHTML=code
for(x=0;x<largo;x++)
{
for(y=0;y<=x;y++)
{
if(y==0)
{
document.getElementById(x + "-" + y).value=1
}
else if(y==x)
{
document.getElementById(x + "-" + y).value=1
}
else if(y==1 || (y+1)==x)
{
document.getElementById(x + "-" + y).value=x
}
else if(document.getElementById(x + "-" + y).value=="")
{
a=x-1
b=y-1
c=document.getElementById(a + "-" + b).value
d=document.getElementById(a + "-" + y).value
document.getElementById(x + "-" + y).value=parseInt(c)+ parseInt(d)
}
}
}
}
</script>
</center>
</body>
</html>
ahora una imagen de este
nota: no ingresen valores muy altos por que no caberan en pantalla
bueno saludos y espero les halla gustado flamer