I wrote a simple calculator script:

#!/usr/bin/python env

def calculator(n1, operator, n2):
    f1 = float(n1)
    f2 = float(n2)
    if operator == '+':
        return f1 + f2
    elif operator == '-':
        return f1 - f2
    elif operator == '*':
        return f1 * f2
    elif operator == '/':
        return f1 / f2
    elif operator == '%':
        return f1 % f2
    elif operator == '**':
        return f1 ** f2
    else:
        print "Can't perform operation: %s" % operator

print "Welcome to the calculator!"
print "Performs float operations"
print "Enter your problem like so: 5 * 3"
op = raw_input(">>> ")
op_list = op.split()
print calculator(op_list[0], op_list[1], op_list[2])

How do I handle an error that is caused when a
character other than a number is given to the
calculator as one of the operands?  For example, if
the letter 'g' is given to the calculator the
following happens:

[EMAIL PROTECTED] ./chap5 134> python calculator.py
Welcome to the calculator!
Performs float operations
Enter your problem like so: 5 * 3
>>> g * h
Traceback (most recent call last):
  File "calculator.py", line 26, in ?
    print calculator(op_list[0], op_list[1],
op_list[2])
  File "calculator.py", line 4, in calculator
    f1 = float(n1)
ValueError: invalid literal for float(): g


"I'm the last person to pretend that I'm a radio.  I'd rather go out and be a 
color television set."
-David Bowie

"Who dares wins"
-British military motto

"I generally know what I'm doing."
-Buster Keaton
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to