Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Отрицательные числа python

Активация Субъективизации Ученик (227), закрыт 1 год назад
 print(-10 * -10) 
print(-10 ** 2)
Почему выдает разные ответы?
Лучший ответ
Андрей Высший разум (483957) 1 год назад
Потому, что в Python -10 ** 2 означает -(10 ** 2). Не так, как принято в программировании, а так, как принято в математике. Хочешь, возвести в степень отрицательное число - пиши: (-10) ** 2.

А вот -10 * -10 считается традиционно: (-10) * (-10).

P.S. В Python единая таблица приоритетов для унарных и бинарных операций. И бинарная операция может иметь более высокий приоритет, чем унарная. Да: грабли.
Остальные ответы
♡$ⴎG@r₱u₷sყ♡ Высший разум (343436) 1 год назад
Потому что в первом случае умножение: -10 * -10 = 100 (минус на минус дает плюс), а во втором возведение в степень: -10 в квадрате это всё равно -10 умножить на 10, но минус остается, получается -100.
Активация СубъективизацииУченик (227) 1 год назад
как так получилось что -10 умножается на 10 а не на -10?
♡$ⴎG@r₱u₷sყ♡ Высший разум (343436) Активация Субъективизации, в действительности -10 в квадрате это -10 * -10, что равно 100. Различие в результатах из-за того, как работают скобки и приоритеты операций: в выражении -10 ** 2, сначала выполняется возведение в степень, а потом применяется минус, поэтому получается -100. Если бы мы написали (-10) ** 2, тогда бы получили 100.
Андрей Панарин Искусственный Интеллект (277408) 1 год назад
Подумайте, чему равно −10², а чему равно (−10)².
Это разные вещи даже в математике.
Похожие вопросы