# Fatorial implemented with recursion def factorial(num): if num <= 1: return 1 else: return(num * factorial(num - 1)) # Testing factorial() print factorial(5) def fatorial(n): n = n if n > 1 else 1 j = 1 for i in range(1, n + 1): j = j * i return j # Testing... for i in range(1, 6): print i, '->', fatorial(i) def fib(n): """Fibonacci: fib(n) = fib(n - 1) + fib(n - 2) se n > 1 fib(n) = 1 se n <= 1 """ if n > 1: return fib(n - 1) + fib(n - 2) else: return 1 # Show Fibonacci from 1 to 5 for i in [1, 2, 3, 4, 5]: print i, '=>', fib(i) def fib(n): """Fibonacci: fib(n) = fib(n - 1) + fib(n - 2) se n > 1 fib(n) = 1 se n <= 1 """ # the first two values l = [1, 1] # Calculating the others for i in range(2, n + 1): l.append(l[i -1] + l[i - 2]) return l[n] # Show Fibonacci from 1 to 5 for i in [1, 2, 3, 4, 5]: print i, '=>', fib(i) def rgb_html(r=0, g=0, b=0): """Converts R, G, B to #RRGGBB""" return '#%02x%02x%02x' % (r, g, b) def html_rgb(color='#000000'): """Converts #RRGGBB em R, G, B""" if color.startswith('#'): color = color[1:] r = int(color[:2], 16) g = int(color[2:4], 16) b = int(color[4:], 16) return r, g, b # a sequence print rgb_html(200, 200, 255) print rgb_html(b=200, g=200, r=255) # what's happened? print html_rgb('#c8c8ff') # *args - arguments without name (list) # **kargs - arguments with name (ditcionary) def func(*args, **kargs): print args print kargs func('weigh', 10, unit='k') data = [(4, 3), (5, 1), (7, 2), (9, 0)] # Comparing by the last element def _cmp(x, y): return cmp(x[-1], y[-1]) print 'List:', data # Ordering using _cmp() print 'Ordered:', sorted(data, _cmp) print eval('12. / 2 + 3.3')