Publicado el Deja un comentario

50 Python. Llamada a funcion con parametros indeterminados

Podemos crear funciones en las que desconocemos cuantos parametros se van a recibir, por ejemplo una funcion que sume los numeros que se le pasen, independientemente si son 2 o 100.
Podriamos realizarlo de la siguiente forma:

#Numero indeterminado de parametros, Suma

def suma(*args):   

    suma=0   

    for arg in args:       

        suma+=arg   

    return suma

#llamamos 2 veces con distintos parametros

print(suma(2,9))

print(suma(2,3,5,4,1,8,9,7))

En la funcion recibimos los parametros con *args, dentro de la funcion los recorremos mediante bucle for y realizamos las operaciones necesarias, devolviendo el valor indicado en la funcion.

Please follow and like us:
Publicado el Deja un comentario

51 Python. Funciones recursivas

Una funcion se dice que es recursiva cuando dentro de la funcion se vuelve a llamar a si misma, segun las condiciones indicadas en el codigo.
Una funcion recursiva debe siempre tener una condicion de parada o salida para que la llamada a si misma no genere un bucle infinito, tiene que llegar un momento donde dicha funcion deje de llamarse y pare su ejecucion obteniendo el resultado esperado.
Normalmente el ejemplo tipico para mostrar esto es el factorial de un numero, pero puede generar mas confusion, por lo que el ejemplo que pongo aqui es una cuenta atras.
Creamos la funcion cuentaAtras donde se ira comprobando si hemos llegado a 0, en caso negativo se vuelve a llamar a la funcion cuentaAtras pero con el parametro anterior – 1, se vuelve a comprobar la condicion, en caso de que el numero ya sea inferior a 1 pararemos su llamada.

Observa el codigo:

#cuenta atras, funcion recursiva

def cuentaAtras(num):   

    if num>0:       

        print(num)       

        num-=1       

        cuentaAtras(num)   

    else:       

        print(“Se acabo la cuenta atras “)

cuentaAtras(10)

Please follow and like us:
Publicado el Deja un comentario

49 Python. Funcion con parametros

Creamos un script que nos muestre la tabla de multiplicar de un numero dado, observa el siguiente codigo:

#funcion con parametro, tablas de multiplicar

def tabla(num):   

    for i in range(1,11):       

    print(“{} * {} = {}”.format(num,i,num*i)

tabla(2)

tabla(8)

Hemos definido una funcion a la que le pasamos un numero como parametro en la llamada a la funcion, tal y como aparece al final del codigo, dentro del cuerpo de la funcion, iniciamos un bucle, en este caso abarca desde el 1 al 10 (11-1) ya que el ultimo no esta incluido.
Dentro del bucle mostramos el valor de la multiplicacion, para ello usamos el metodo format con print, donde estan las llaves se usaran las variables num, i y num*i, en el mismo orden de aparicion.
Llamamos a la funcion dos veces con dos parametros distintos, para ver el resultado.

Please follow and like us: