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:
Postar um comentário