Ver índice de contenidos del libro

12.5. Apéndice

A continuación se muestran dos ejemplos de implementación de un programa que calcula la serie de Fibonacci para números menores a 20.

En primer lugar se muestra una implementación sin uso de excepciones, con las herramientas vistas antes de esta unidad.

def calcularFibonacciSinExcepciones(n):
    if (n>=20) or (n<=0):
        print ''' Ha ingresado un valor incorrecto.
El valor debe ser número entero mayor a cero y menor a 20'''
        return
    salida=[]
    a,b = 0,1
    for x in range(n):
        salida.append(b)
        a, b = b, a+b
    return salida
 
def mainSinExcepciones():
    input = raw_input('Ingrese n para calcular Fibonacci(n):')
    n = int(input)
    print calcularFibonacciSinExcepciones(n)

A continuación un código que utiliza excepciones para manejar la entrada de mejor manera.

def calcularFibonacciConExcepciones(n):
    try:
        assert(n>0)
        assert(n<20)
    except AssertionError:
        raise ValueError
    a=0
    b=1
    salida = []
    for x in range(n):
        salida.append(b)
        a, b = b, a+b
    return salida
 
def mainConExcepciones():
    try:
        input = raw_input('Ingrese n para calcular Fibonacci(n):')
        n = int(input)
        print calcularFibonacci2(n)
    except ValueError:
        print '''Ha ingresado un valor incorrecto.
El valor debe ser un número entero mayor a cero y menor a 20'''
Copyright (c) 2011-2014 Rosita Wachenchauzer, Margarita Manterola, Maximiliano Curia, Marcos Medrano, Nicolás Paez. La copia y redistribución de esta página se permite bajo los términos de la licencia Creative Commons Atribución - Compartir Obras Derivadas Igual 3.0 siempre que se conserve esta nota de copyright.