Как определить часть - (- (- (....) в этом фрагменте кода? - PullRequest
0 голосов
/ 09 ноября 2018

Я не ищу ответ для этого кода, но я хотел бы знать, как выполнить разработку в части -(-(-(-2))) ....

Я пытался найти его в Google "Python negative braces.." и т. Д., Но ничего.

-(-(-(-2))) == -2 and 4 >= 16 ** 0.5

Ответы [ 3 ]

0 голосов
/ 09 ноября 2018

Это работает точно так же, как и в обычной математической записи. -(anything) - это отрицание того, что в скобках. Отрицание 2 равно -2, а отрицание -2 равно 2.

- (- 2) - отрицание -2, равное 2.

- (- (- - 2)) - отрицание - (- 2). - (- 2) - 2, отрицание - -2.

- (- (- (- 2))) - отрицание - (- (- 2)). - (- (- 2)) равно -2, а отрицание равно 2.

0 голосов
/ 09 ноября 2018
-(-(-(-2)))

Это как простая математика:

Если бы вы поместили это утверждение в режиме интерактивного Python, вы бы сразу поняли, что оно означает. Смотрите ниже:

In [1651]: -(-(-(-2)))
Out[1651]: 2

-ve * -ve * -ve *-ve дает число +ve. ТАК ответ 2.

0 голосов
/ 09 ноября 2018

Что это значит, по сути negative negative negative negative 2. Таким образом, потому что отрицательный отрицательный положительный, это равно положительному 2.

В итоге: -(-(-(-2))) == -2 - это False, поэтому, если вы включите это как часть and, вы получите False независимо от того, что:

>>> -(-(-(-2))) == -2 and True
False
...