Отрицательные числа python - Общение Python мододелов

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

Регистрация
10 Май 2013
Сообщения
92
Репутация
0
Спасибо
0
Монет
0
print(-10 * -10)

print(-10 ** 2) Почему выдает разные ответы?
 
Регистрация
29 Июн 2013
Сообщения
74
Репутация
0
Спасибо
0
Монет
0
Потому, что в Python -10 ** 2 означает -(10 ** 2). Не так, как принято в программировании, а так, как принято в математике. Хочешь, возвести в степень отрицательное число - пиши: (-10) ** 2.

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

P.S. В Python единая таблица приоритетов для унарных и бинарных операций. И бинарная операция может иметь более высокий приоритет, чем унарная. Да: грабли.
 
Регистрация
7 Дек 2013
Сообщения
93
Репутация
0
Спасибо
0
Монет
0
Ибо

21366885_faefd2639a96add149515faf207e3af9_800.png

 
Регистрация
28 Май 2013
Сообщения
95
Репутация
0
Спасибо
0
Монет
0
Подумайте, чему равно −10², а чему равно (−10)².
Это разные вещи даже в математике.
 
Регистрация
8 Ноя 2013
Сообщения
83
Репутация
0
Спасибо
0
Монет
0
Потому что в первом случае умножение: -10 * -10 = 100 (минус на минус дает плюс), а во втором возведение в степень: -10 в квадрате это всё равно -10 умножить на 10, но минус остается, получается -100.
 
Сверху Снизу