Simple Calculation Program | Sololearn: Learn to code for FREE!


Simple Calculation Program

I have got this program: while True: print("Options:") print("Enter 'add' to add two numbers") print("Enter 'subtract' to subtract two numbers") print("Enter 'multiply' to multiply two numbers") print("Enter 'divide' to divide two numbers") print("Enter 'quit' to end the program") user_input = input(":") if user_input == "quit": break elif user_input == "add": num1 = float(input("Enter a number: ")) num2 = float(input("Enter another number: ")) result = str(num1 + num2) print("The answer is " + result) else: print("Unknown input") When I run the following Programm in the Terminal, I get it to run only if the user enters the word add between '' as this: 'add' is there anway to change the program, so that the user get to input only the word as it is without "" or '' and still get it to run without erors? Here is the eror message that I get each time I enter the word add without ' '. Traceback (most recent call last): File "", line 21, in <module> user_input = input(":") File "<string>", line 1, in <module> NameError: name 'add' is not defined

11/5/2019 11:05:02 AM

Layla Di

8 Answers

New Answer


hi, i did some trials with your code and i can say that it runs as *expected* in a regular IDE. I used add without quotes. If i use add with quotes, it does no calculation and returns *Unknown input* which comes from the else clause in your code. What is not work ing are the operations: subtract, multiply, divide, because it is not implemented to check for this input, and also the calculation for this operations are not implemented . To get it run in Playground, it needs a different input procedure, but i think this is not your problem. So it's not clear what causes the problem you mentioned.


thanks. clearly after reading your reply the problem could be using the mac terminal ...which idle do u use?


I have used pythonista on iOS and spyder on windows.


Layla Di I mostly use sublime text 3 for long codes, but for simple scripts I use nvim in terminal because it's faster.


Layla Di Atom is good, I used to use it a lot, but sublime text has way more packages and is more customizable


There shouldn't be any difference whether you're working with IDLE or just a normal terminal, the code you provided works fine on my terminal. Make sure this is the exact same code you wrote.


as soon as copy past works...but i will check again. Thanks. For the sake of mother curiosity: what text editor do u use for python Aymane ?


#Aymane Boukrouh what do u think about ATOM?