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.