90.8k views
18 votes
Hello! So I have been practising some coding, however, there seems to be an error in my code. I have been trying to figure out what is wrong, however, I just can't seem to find it. There is no syntax error but, there seems to be a problem with my input. I am currently using repl.it and I am making a calculator. I would input something like "multiply" however, the calculator would only square. I have tried changing the variables but it just keeps coming back to the first "if" statement. I would appreciate some help.

Hello! So I have been practising some coding, however, there seems to be an error-example-1
User Bmalets
by
4.6k points

1 Answer

14 votes

Answer:

You OR expressions are wrong.

Step-by-step explanation:

Rather than writing:

if method == "Square" or "square":

You should write:

if method == "Square" or method == "square":

The expression should evaluate to something that is true or false.

In the above case, the expression is method == "Square" or method == "square" which can are actually two sub-expressions with an or in between them:

subexpr1 or subexpr2

each of the sub-expressions should evaluate to true or false.

method == "Square" is one of those sub-expressions.

That is how an expression is broken down by the compiler.

TIP: If you would add method = method.lower() right after the input, you could simplify all the if statements by removing the uppercase variants.

User Ulubeyn
by
4.6k points