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.