2.3 Funciones de Usuario

En las secciones anteriores, vimos cómo utilizar las funciones que el Python nos brinda para nuestros programas.
Ahora, vamos a ver cómo podemos crear nuestras propias funciones, que puedan ser llamadas desde cualquier lugar del programa. Esto nos permitirá escribir el código de estas funciones una sola vez y utilizarlas tantas veces como sea necesario.

Veamos un ejemplo sobre cómo utilizar una función para calcular el factorial, problema que vimos en el capítulo anterior
En el programa, utilizamos la función factorial( ), que es la que realiza las operaciones. Esta función recibe un parámetro (en este caso, el contenido de la variable x) y devuelve un valor (que en este caso, se guarda en la variable r).

En este caso, la función (factorial) se escribe antes que el programa (prog1):

 def factorial(n):
    i = 1
    f=1
    while i<= n:
        f=f*i
        i = i +1
    return f

def prog1():
    x=int(input("Ingrese un numero:"))
    r=factorial(x)
    print("El factorial es",r)
prog1()



Al correr este ejemplo, se ejecuta el programa prog1: se pide al usuario que ingrese un número que se guarda en la variable x. Llegado este punto, en la línea siguiente, se ejecuta la función factorial con el valor de la variable x. El valor devuelto por la función, se guarda en la variable r, y se muestra al usuario.

El código de la función, que está escrito antes del programa principal, es el siguiente:

 def factorial(n):
    i = 1
    f=1
    while i<= n:
        f=f*i
        i = i +1
    return f


Si analizamos el código, vemos que se recibe un parámetro que se guarda en la variable n y se inicializan dos variables en 1. Luego se realiza un ciclo while que multiplica todos los números de 1 hasta el número n.
Finalmente, la instrucción return devuelve el valor de f al programa que llamó a la función.

- Las funciones son subprogramas independientes del programa principal, que tienen sus propias variables. En este caso el parámetro se llama n, y recibe el valor de la variable x del programa principal. Puede llamarse igual o distinto, pero son dos variables distintas: Cualquier cambio que haga a la variable n de la función, no afecta a la variable x del programa principal. La única forma que tiene la función de pasar un dato al programa principal, es mediante la instrucción return, que devuelve un valor al programa principal.






No hay comentarios:

Publicar un comentario