sexta-feira, março 30, 2007

calcfx: A Python Command Line Calculator

Esta é uma calculadora simples para linha de comando que fiz em python, a 'calcfx'.

Ela utiliza a biblioteca numpy e portanto tem funcionalidades bem interessantes. O único probleminha dela é o compilador do python que exige que você utilize sempre o ponto decimal nos números pra evitar que o parser considere alguma operação como de inteiros, onde o resultado parcial sempre acaba arredondado.

Ela pode inclusive resolver uma equação polinomial com o comando roots(array()) da biblioteca numpy.

#!/usr/bin/env python
# oblogdefelix.blogspot.com

import sys,string
from numpy import *

list=sys.argv
if (size(list)>1):
del list[0]
expr=string.join(list,'')
print expr,'='
x=compile(expr,'','eval')
print eval(x)
else:
print 'Usage:'
print ''
print " calcfx 'expression'"
print ''
print 'Ex:'
print " calcfx '3.*sin(pi/4.)'"
print " calcfx 'roots(array([1. 0. -1.]))'"
print ''
print 'Note: always use decimal point or operations can be understood as integer operation:'
print ' 1/2 and 1./2. are 0 and 0.5 respectively.'

Nenhum comentário: