Python Beginner Help (Calculator)

Reply

Join Date: Jun 2008
Posts: 26
Reputation: inkcoder is an unknown quantity at this point 
Solved Threads: 1
inkcoder inkcoder is offline Offline
Light Poster

Python Beginner Help (Calculator)

 
0
  #1
Jun 7th, 2008
Hello Everyone,

I just joined here hoping to increase my knowledge at python. I have been beginning to learn this language as of yesterday. I have decided that if I really want to increase my knowledge I should start on a project. Well here is my first project, a simple calculator. But for whatever reason when I run the program I'm getting some strange errors... Whatever help and advice you guys could give me would be most appreciated!

#Calculator Test1

print "Calculator:"
print "1)+" 
print "2)-" 
print "3)*" 
print "4)/" 
print " "
print "Select Choice:"
op = input(">")
print " "

#Add
if op == "1":
    print "a + b"
    add1 = input("a:")
    add2 = input("b:")
    print "a + b =", add1+add2

#Sub
if op == "2":
    print "a - b"
    sub1 = input("a:")
    sub2 = input("b:")
    print "a - b =", sub1-sub2

#Multi
if op == "3":
    print "a * b"
    mul1 = input("a:")
    mul2 = input("b:")
    print "a * b =", mul1*mul2

#Div
if op == "4":
    print "a / b"
    div1 = input("a:")
    div2 = input("b:")
    print "a / b =", div1/div2

Thanks,
Inkcoder
Reply With Quote Quick reply to this message  
Join Date: Jun 2008
Posts: 122
Reputation: slate is an unknown quantity at this point 
Solved Threads: 30
slate slate is offline Offline
Junior Poster

Re: Python Beginner Help (Calculator)

 
1
  #2
Jun 7th, 2008
THe line:

  1. op = input(">")

Takes the input AND evaluates it. That means inputing "1" results in eval("1") which is int("1').
Putting in something like "a" results in the interpreter looking for a name "a" and not finding it.

For the beginning I recommend to use:

  1. op=raw_input(">")
Last edited by slate; Jun 7th, 2008 at 7:40 am.
Reply With Quote Quick reply to this message  
Join Date: Oct 2006
Posts: 2,273
Reputation: sneekula has a spectacular aura about sneekula has a spectacular aura about 
Solved Threads: 175
sneekula's Avatar
sneekula sneekula is offline Offline
Nearly a Posting Maven

Re: Python Beginner Help (Calculator)

 
0
  #3
Jun 7th, 2008
First, welcome to the forum!

What 'slate' is really telling you is that input() is for numbers and raw_input() is for strings. Using input() has certain risks since you can also enter a command and it will excute it.

Anyway, if you want to use
op = input(">")
then op will not be a string
and you have to use this if statement
if op == 1:

In the matter of fact, input() allows you to create this very simple calculator, since it evaluates mathematical expressions directly:
  1. print "At the >> prompt enter x op y"
  2. print "where x and y are numbers and op is"
  3. print "- + / * ** // for instance 12 * 9"
  4. result = input(">> ")
  5. print "result =", result
Last edited by sneekula; Jun 7th, 2008 at 11:23 am.
No one died when Clinton lied.
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:



Similar Threads
Other Threads in the Python Forum
Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC