On Sun, Jan 18, 2009 at 7:37 AM, David <span dir="ltr"><<a href="mailto:david@abbottdavid.com">david@abbottdavid.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Everything else works + - / but not *<br>
why?<br>
thanks<br>
-david<br>
<br>
<br>
#!/usr/bin/python<br>
from __future__ import division<br>
import sys<br>
<br>
<br>
def add(x, y):<br>
return x + y<br>
def sub(x, y):<br>
return x - y<br>
def dev(x, y):<br>
return x / y<br>
def mul(x, y):<br>
return x * y<br>
def compute(arg1, arg2, arg3):<br>
if sys.argv[2] == "+":<br>
total = add(int(sys.argv[1]), int(sys.argv[3]))<br>
print total<br>
elif sys.argv[2] == "-":<br>
total = sub(int(sys.argv[1]), int(sys.argv[3]))<br>
print total<br>
elif sys.argv[2] == "/":<br>
total = dev(int(sys.argv[1]), int(sys.argv[3]))<br>
print total<br>
elif sys.argv[2] == "*":<br>
total = mul(int(sys.argv[1]), int(sys.argv[3]))<br>
print total<br>
else:<br>
print "oops"<br>
<br>
compute(sys.argv[1], sys.argv[2], sys.argv[3])<br><font color="#888888">
<br>
</font></blockquote><div><br>It works for me under Windows XP, so I suspect that the hints you've received about * being expanded by your shell are correct. However, I had an idea - rather than requiring your user to put quotes around the "*", why not do this:<br>
<br> elif sys.argv[2] in ["*","x","X"]:<br> total = mul(int(sys.argv[1]), int(sys.argv[3]))<br> print total<br><br>This could be a problem if you wanted to develop your calculator into a full-fledged scientific calculator, but otherwise...<br>
</div></div><br clear="all"><br>-- <br><a href="http://www.fsrtechnologies.com">www.fsrtechnologies.com</a><br>