Maybe 3 months ago I tried out a couple beginners tuts for python. I stopped experimenting for awhile and now I want to try and learn more about python. So I am trying to create a calculator program to refresh my knowledge. Ran into a problem early in the code since when I press 1 nothing happens..... can anyone help or suggest anything?
Code:print "Welcome to Nolls's Calculator 1.0"
option=input
print input("Which of the following would you like to do?")
print "1. addition"
print "2. subtraction"
print "3. multiplication"
print "4. division"
if option==1:
def add(a,b):
print a + b
a=input("First number")
print a
b=input("Second number")
print b
print add
Last edited by nolls; 01-17-2008 at 08:39 PM.
Your way of receiving userinput is not right. Look at this:
Code:option = input("Input-string... ") # ... if option == 1: # Do something
Thanks, got past that problem!
Now I did a test run everything was fine, except that it doesn't go back and re-run it! And I remembered I had to create a loop. I vaguely remember the "while" loop and forget the other. Any suggestions?Code:print "Welcome to Nolls's Calculator 1.0" print "1. addition" print "2. subtraction" print "3. multiplication" print "4. division" print "5. exit" option = input("Which would you like to do? ") if option == 1: a = input("First number ") print a b = input("Plus second number ") print b print a + b elif option == 2: a = input("First number ") print a b = input("Minus second number ") print a - b elif option == 3: a = input("First number ") print a b = input("Multiplied by second number ") print b print a * b elif option == 4: a = input("First number ") print a b = input("Divided by second number ") print b print a / b elif option == 5: print "Goodbye!" exit ()
That's right, you need some kind of loop, and a while-loop would be just fine. I see you've a way to exit your program (option 5), and because you have that, it's easy to wrap a loop around the rest of the code.
The reason why I talked about your option 5, is because normally a while-loop will run while its condition is true, but because you've an alternative way of quitting, we can simply make the loop run forever (of course, until your alternative way will stop it)Code:while True: # Everything you want to have in the loop # ...
I ran into another problem. After I created a loop I chose the conditions of the loop to be if option != 0. When I did this I ran a test run and when I picked addition it would run the addition sequence over and over again. It never went back to choosing the choices.
Code:#!/C:Python25/Calc Test.py print "Welcome to Nolls's Calculator 1.0" print "1. addition" print "2. subtraction" print "3. multiplication" print "4. division" print "5. exit" option = input("Which would you like to do? ") while option != 0: if option == 1: a = input("First number ") print a b = input("Plus second number ") print b print a + b elif option == 2: a = input("First number ") print a b = input("Minus second number ") print a - b elif option == 3: a = input("First number ") print a b = input("Multiplied by second number ") print b print a * b elif option == 4: a = input("First number ") print a b = input("Divided by second number ") print b print a / b elif option == 5: print "Goodbye!" exit ()
Any suggestions? (I appriciate all the help v0id)
Last edited by nolls; 01-19-2008 at 07:48 PM.
Look where you've put the line, where you're receiving the input - outside the loop! You need to put it inside the loop. Another thing; now that you're using conditions, you don't have to use the option 5's exit.
I would do like this:
Code:option = 0 while option != 5: option = input("Input... ") # Only use your other four options # we've already taken care of the fifth # one. When 'option' gets a '5', the condition # will become false, and the loop will stop # ...
Figured it out, thanks for the help!
Here is my calculator program if anyone wants to suggest anything to improve it (it doesn't boot up right away, I had to press enter after I executed it to run it, any reason for this?).
Code:#!/C:Python25/Calc Test.py print "Welcome to Nolls's Calculator 1.0" option = 0 while option != 5: print "1. addition" print "2. subtraction" print "3. multiplication" print "4. division" print "5. exit" option = input("Which would you like to do? ") if option == 1: a = input("First number ") print a b = input("Plus second number ") print b print a + b elif option == 2: a = input("First number ") print a b = input("Minus second number ") print a - b elif option == 3: a = input("First number ") print a b = input("Multiplied by second number ") print b print a * b elif option == 4: a = input("First number ") print a b = input("Divided by second number ") print b print a / b elif option == 5: print "Goodbye!" exit ()
Read my previous post; you do not need the fifth option anymore, as you're using a loop with conditions. So you can remove the last three lines of code without problems.
What do you mean by it doesn't boot, and you've to press enter?
About the 5th option, I was confused as to how it would exit if I got rid of the last three lines. Then I realized, if option isn't equal to 5 it will run, and if it doesn't (by pressing 5) it would stop. Yeah, I felt pretty stupid after I realized that.
O and after I took out the last three lines the program didn't have the problem again. What would happen though, is that I run press F5 to run it and it would run, but nothing would happen. As soon as I would press enter, the program would start running. Pretty weird huh?
Also, I think I read this in "Beginning Python- From Novice to Professional", the first line of code makes it into an executable? Is this true, if not, how do you?
Ok here is the FINAL calculator program:
Code:#!/C:Python25/Calc Test.py print "Welcome to Nolls's Calculator 1.0" option = 0 while option != 5: print "1. addition" print "2. subtraction" print "3. multiplication" print "4. division" print "5. exit" option = input("Which would you like to do? ") if option == 1: a = input("First number ") print a b = input("Plus second number ") print b print a + b elif option == 2: a = input("First number ") print a b = input("Minus second number ") print a - b elif option == 3: a = input("First number ") print a b = input("Multiplied by second number ") print b print a * b elif option == 4: a = input("First number ") print a b = input("Divided by second number ") print b print a / b
The first line makes it into executable file, yes, but it doesn't become a binary file like the files on Windows with the extension, .exe. You need to use a third-party program to achieve this. You can use something like Py2exe. I've never used it myself, but it should work. Good luck.
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks