I’m getting a strange result when squaring -1 in idle. What’s going on?
Unexpected result:
JavaScript
x
3
1
>>>| -1 ** 2
2
>>>| -1
3
Expected result:
JavaScript
1
8
1
>>>| pow(-1,2)
2
>>>| 1
3
4
>>>| my_var = -1
5
>>>| my_var **= 2
6
>>>| my_var
7
>>>| 1
8
Advertisement
Answer
Operator precedence (the -
is a unary minus operator):
JavaScript
1
7
1
>>> -1 ** 2
2
-1
3
>>> -(1 ** 2)
4
-1
5
>>> (-1) ** 2
6
1
7