snipt

Ctrl+h for KB shortcuts

Python

python cientific calculator

#!/usr/bin/env python
# oblogdefelix.blogspot.com
# see usage below

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
https://snipt.net/embed/08326aeeebb19494f80511b8ef97dc3f/
/raw/08326aeeebb19494f80511b8ef97dc3f/
08326aeeebb19494f80511b8ef97dc3f
python
Python
25
2019-06-26T06:50:27
True
False
False
/api/public/snipt/9686/
python-cientific-calculator
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1"> 1</a> <a href="#L-2"> 2</a> <a href="#L-3"> 3</a> <a href="#L-4"> 4</a> <a href="#L-5"> 5</a> <a href="#L-6"> 6</a> <a href="#L-7"> 7</a> <a href="#L-8"> 8</a> <a href="#L-9"> 9</a> <a href="#L-10">10</a> <a href="#L-11">11</a> <a href="#L-12">12</a> <a href="#L-13">13</a> <a href="#L-14">14</a> <a href="#L-15">15</a> <a href="#L-16">16</a> <a href="#L-17">17</a> <a href="#L-18">18</a> <a href="#L-19">19</a> <a href="#L-20">20</a> <a href="#L-21">21</a> <a href="#L-22">22</a> <a href="#L-23">23</a> <a href="#L-24">24</a> <a href="#L-25">25</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a><span class="ch">#!/usr/bin/env python</span> </span><span id="L-2"><a name="L-2"></a><span class="c1"># oblogdefelix.blogspot.com</span> </span><span id="L-3"><a name="L-3"></a><span class="c1"># see usage below</span> </span><span id="L-4"><a name="L-4"></a> </span><span id="L-5"><a name="L-5"></a><span class="kn">import</span> <span class="nn">sys</span><span class="o">,</span><span class="nn">string</span> </span><span id="L-6"><a name="L-6"></a><span class="kn">from</span> <span class="nn">numpy</span> <span class="kn">import</span> <span class="o">*</span> </span><span id="L-7"><a name="L-7"></a> </span><span id="L-8"><a name="L-8"></a><span class="nb">list</span><span class="o">=</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span> </span><span id="L-9"><a name="L-9"></a><span class="k">if</span> <span class="p">(</span><span class="n">size</span><span class="p">(</span><span class="nb">list</span><span class="p">)</span><span class="o">&gt;</span><span class="mi">1</span><span class="p">):</span> </span><span id="L-10"><a name="L-10"></a> <span class="k">del</span> <span class="nb">list</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> </span><span id="L-11"><a name="L-11"></a> <span class="n">expr</span><span class="o">=</span><span class="n">string</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">list</span><span class="p">,</span><span class="s1">&#39;&#39;</span><span class="p">)</span> </span><span id="L-12"><a name="L-12"></a> <span class="k">print</span> <span class="n">expr</span><span class="p">,</span><span class="s1">&#39;=&#39;</span> </span><span id="L-13"><a name="L-13"></a> <span class="n">x</span><span class="o">=</span><span class="nb">compile</span><span class="p">(</span><span class="n">expr</span><span class="p">,</span><span class="s1">&#39;&#39;</span><span class="p">,</span><span class="s1">&#39;eval&#39;</span><span class="p">)</span> </span><span id="L-14"><a name="L-14"></a> <span class="k">print</span> <span class="nb">eval</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> </span><span id="L-15"><a name="L-15"></a><span class="k">else</span><span class="p">:</span> </span><span id="L-16"><a name="L-16"></a> <span class="k">print</span> <span class="s1">&#39;Usage:&#39;</span> </span><span id="L-17"><a name="L-17"></a> <span class="k">print</span> <span class="s1">&#39;&#39;</span> </span><span id="L-18"><a name="L-18"></a> <span class="k">print</span> <span class="s2">&quot; calcfx &#39;expression&#39;&quot;</span> </span><span id="L-19"><a name="L-19"></a> <span class="k">print</span> <span class="s1">&#39;&#39;</span> </span><span id="L-20"><a name="L-20"></a> <span class="k">print</span> <span class="s1">&#39;Ex:&#39;</span> </span><span id="L-21"><a name="L-21"></a> <span class="k">print</span> <span class="s2">&quot; calcfx &#39;3.*sin(pi/4.)&#39;&quot;</span> </span><span id="L-22"><a name="L-22"></a> <span class="k">print</span> <span class="s2">&quot; calcfx &#39;roots(array([1. 0. -1.]))&#39;&quot;</span> </span><span id="L-23"><a name="L-23"></a> <span class="k">print</span> <span class="s1">&#39;&#39;</span> </span><span id="L-24"><a name="L-24"></a> <span class="k">print</span> <span class="s1">&#39;Note: always use decimal point or operations can be understood as integer operation:&#39;</span> </span><span id="L-25"><a name="L-25"></a> <span class="k">print</span> <span class="s1">&#39; 1/2 and 1./2. are 0 and 0.5 respectively</span> </span></pre></div> </td></tr></table>
python