[ Foro de Python ]

triangulo

05-Jan-2015 13:21
Invitado (chicle)
3 Respuestas

Alguien me explica esto?


def asterix_triangle(i, t=0):
    if i == 0:
        return 0
    else:
        print(' ' * ( i + 1 ) + '*' * ( t * 2 + 1 ))
        return asterix_triangle( i - 1, t + 1 )

asterix_triangle(5)




07-Jan-2015 15:49
Nacho Cabanes (+83)

Es una forma "un tanto fea" de dibujar un triángulo formado por asteriscos precedidos por espacios, usando una función recursiva.

Se sale cuando ya no quedan espacios (i==0) que dibujar.

En cada pasada se dibujan i+1 espacios seguidos de t*2+1 asteriscos, y se prepara la siguiente etapa, en la que se dibujará un espacio menos y un asterisco más.


22-Mar-2015 11:53
Invitado (PauMesQ)

Nacho yo como puedo alplicarle un imput a cuando llames la funcion por ejemplo:


def asterix_triangle(i, t=0):
    if i == 0:
        return 0
    else:
        print(' ' * ( i + 1 ) + '*' * ( t * 2 + 1 ))
        return asterix_triangle( i - 1, t + 1 )
 
asterix = input (">")
asterix_triangle(asterix)
?




22-Mar-2015 16:29
Nacho Cabanes (+83)

No entiendo la pregunta. Los parámetros de una función pueden ser tanto valores prefijados como valores que introduzca el usuario y que leas mediante "input".






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)