A calculator that evaluates string expressions both locally or using WolframAlpha.
Project description
calcalc: a toy calculator
This is a calculator for evaluating string expressions (e.g. '2*sin(3/5)', 'mass of the sun in kg'). The statement can be computed either locally or through querying WolframAlpha.
To install using pip: pip install calcalc-toy
. To install via GitHub: https://github.com/yanglyu902/UCB-AY250-HW/tree/main/hw_3/my_package.
There are two ways to interact with the package:
Usage 1: from command line
Examples (inside the CalCalc
folder):
This command evaluate a simple expression locally with the -s
argument:
$ python CalCalc.py -s '2*sin(3)'
0.2822400161197344
This command calculates the mass of the moon through Wolfram with the -w
argument. The result is displayed as a plain text:
$ python CalCalc.py -w 'mass of the moon in kg'
7.3459×10^22 kg (kilograms)
If we want to display a float instead, use the --float
flag:
$ python CalCalc.py -w 'mass of the moon in kg' --float
7.3459e+22
Usage 2: inside python script/ipython
After pip install
, import the calculator like this:
from calcalc.CalCalc import calculate
We can evaluate a simple expression locally:
In [1]: calculate('2*sin(3/5)+log(7)')
Out[2]: 3.075195095845384
We can evalute a Wolfram query using local=False
:
In [1]: calculate('mass of the moon in kg', local=False)
Out[2]: 7.3459e+22
The default Wolfram output using python script/ipython is converted float to facilitate further computations (opposite to the command line behavior described above). To display a string instead, use return_float=False
:
In [1]: calculate('mass of the moon in kg', local=False, return_float=False)
Out[2]: '7.3459×10^22 kg (kilograms)'
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file calcalc-toy-1.8.tar.gz
.
File metadata
- Download URL: calcalc-toy-1.8.tar.gz
- Upload date:
- Size: 8.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.32.2 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 716a6171856cdede3401168949243735bc22cf5ea3cb5acfd449273eead3ef9f |
|
MD5 | 045ff03230d98d6925c1b38c15a8b938 |
|
BLAKE2b-256 | ecd7a8c022b47d009b1d12c8bed1ebfa523d0da1c2a2943e11cbc1c0187aef18 |