ismaelvc

fz.py

Nov 12th, 2013
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.78 KB | None | 0 0
  1. def f(z):
  2.     '''
  3.    >>> f(0)
  4.    -1j
  5.  
  6.    >>> type(_)
  7.    <type 'complex'>
  8.    '''
  9.     return z**2 - 1j
  10.  
  11.  
  12. def f_range(z=0, r=0):
  13.     '''
  14.    >>> f_range()
  15.    {}
  16.  
  17.    >>> f_range(0, 10)
  18.    {0: -1j, 1: (-1-1j), 2: 1j, 3: (-1-1j), 4: 1j, 5: (-1-1j), 6: 1j, 7: (-1-1j), 8: 1j, 9: (-1-1j)}
  19.    
  20.    >>> f_range(7, 2)
  21.    {0: (49-1j), 1: (2400-99j)}
  22.  
  23.    >>> f7 = f_range(7, 8)
  24.  
  25.    >>> f7[5]
  26.    (9.705883633403057e+53-7.526991236086837e+53j)
  27.  
  28.    >>> f_range(7, 9)
  29.    Traceback (most recent call last):
  30.        ...
  31.    OverflowError: complex exponentiation
  32.    '''
  33.     results = dict()
  34.     for i in range(r):
  35.         ret = f(z)
  36.         results[i] = ret
  37.         z = ret
  38.     return results
  39.  
  40.  
  41. if __name__ == '__main__':
  42.     import doctest
  43.     doctest.testmod()
Advertisement
Add Comment
Please, Sign In to add comment