domingo, 30 de abril de 2023

Factorial con recursividad en Python

Ya hemos tratado el tema del factorial sin recursividad en este post:

Factorial de un número en Python

En esta ocasión vamos a utilizar una función recursiva.

El código se puede descargar en el siguiente enlace:

Gist

def factorial(n):
    if n > 1:
        n *= factorial(n - 1)
    return n

factorial(5)
El factorial de 5 es:

5! = 5 * 4 * 3 * 2 * 1 = 120

La función recursiva se llama a si misma hasta que se llega a la condición de parada que en este caso es cuando n vale 1 y en ese caso se retorna el valor que ha alcanzado la propia variable

jueves, 20 de abril de 2023

doctest en Python para documentar funciones


Es aconsejable decir que hace cada función con un comentario que se denomina doctest. Supongamos la siguiente función que suma dos números enteros.



Al añadir el doctest se hace entre comillas triples y se pueden poner casos de uso que se comprueban 
con la siguiente línea de código en la terminal. Si al ejecutar esta línea no da error quiere decir que la función ha pasado correctamente estos casos de uso. No llegan a tener la categoría de 'pruebas unitarias' pero nos ayudan a comprobar que esos casos de uso son correctos.

python3 -m doctest sumando.py








El guión bajo en Python ( ·_·)

En la terminal podemos correr python3 y experimentar con el guión bajo. En las líneas de comando de Python3 el guión bajo actúa recordando lo impreso en la última línea.

 



Actúa de forma similar a la tecla Ans de algunas calculadoras que recuerdan el último valor calcualdo y pueden seguir operando con él.



Podemos utilizar el guion bajo como una variable auxiliar en un bucle.