Порядок работы Математический - PullRequest
0 голосов
/ 13 января 2020

новичок в программировании и сталкивался с этим во время работы с рабочим листом:

x = 1 / 2 + 3 // 3 + 4 ** 2

что такое x?

Я прочитал, что в отношении показателя степени вы должны правильно его прочитать налево, и я сделал это, и я продолжаю получать 0 по какой-то причине, хотя ответ должен был быть 17,5. Буду очень признателен за любую помощь в том, почему / как я должен получить 17,5 и порядок, из которого я должен был это сделать. спасибо.

Ответы [ 3 ]

1 голос
/ 13 января 2020

Используя Python, результат равен 17,5

enter image description here

Вы можете проверить порядок математических операторов в python (Python Приоритет оператора) для получения дополнительной информации

(1 / 2) + (3 // 3) + (4 ** 2) = 0.5 + 1 + 16

Ссылка: https://www.mathcs.emory.edu/~valerie/courses/fall10/155/resources/op_precedence.html

0 голосов
/ 13 января 2020

Приоритет оператора определен в документации Python:

https://docs.python.org/3/reference/expressions.html#operator -приоритет

Итак, ** имеет наивысший приоритет, тогда / и //, а затем +.

0 голосов
/ 13 января 2020

Чтобы определить порядок приоритета для этого выражения, имейте в виду следующие правила (не исчерпывающие):

  • оценка идет слева направо
  • Умножение / деление выше приоритет перед сложением / вычитанием (например, 1 + 2 / 3 оценивается как 1 + (2 / 3))
  • Экспонент / степень имеет более высокий приоритет, чем умножение и деление (например, 1 / 2**4 оценивается как 1 / (2**4))

Эти правила вместе показывают нам, что это выражение:

x = 1 / 2 + 3 // 3 + 4 ** 2

будет оценено как:

x = (1 / 2) + (3 // 3) + (4 ** 2)

Следовательно, x = 0,5 + 1 + 16 = 17,5.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...