Library Ukraine Ответов: 1

Как написать калькулятор математических выражений?


Мне нужно написать калькулятор математических выражений,:
"Что такое 2 плюс 2?" должно вернуть 4. Но без приоритета операций,например " Что такое 7 плюс 2 умножить 3?" должно возвращать не 13, а 27. поэтому я попробовал eval,но здесь он не работает(( кстати, я изучаю python в течение короткого периода времени, поэтому pls, попробуйте помочь мне с самым простым кодом,который вы когда-либо могли себе представить :D заранее спасибо

Что я уже пробовал:

К сожалению,пока ничего,потому что я даже не могу представить себе решение этой проблемы

Gerry Schmitz

Зевать.

1 Ответов

Рейтинг:
2

CPallini

Вы должны построить очень простой парсер:

  1. Проверьте и отбросьте условие "пуск" (- А что такое"), получить первый номер, присвоить его текущему result.
  2. Если вы найдете условие "финиш" ("?"), то вы уже сделали: доложите о result ценность.
  3. Соберите оператора (например, "плюс", "умножать",...) и второй операнд, примените операцию (используя текущее значение result как первый операнд) и сохранить вычисленное значение в result.
  4. Гото пункт 2.