Простой список с пропущенными пробелами, после которых следуют эти символы, будет работать хорошо.
А пока .
Как только вы войдете в более сложные выражения, вы получитемного проблем, вместо этого напишите правильный математический оценщик выражений.То есть, если вы действительно имеете в виду расширенный калькулятор .
Рассмотрите возможность следования этому руководству: https://ruslanspivak.com/lsbasi-part1/
В части 6 у вас будет калькулятор, который может оценивать ЛЮБОЙ вводу которого меньше тысячи (
левых скобок, прежде чем они будут закрыты на )
, Python имеет глубину рекурсии 1000, ее можно увеличить, но есть предел по причине.
Что я имею в видуэто то, что это будет хорошо с выражением, которое имеет "(" * 999
до того, как произойдет первый )
, но я не ожидаю, что кто-то напишет такое чудовище, если они не захотят потратить следующие 3 года на размышления о выраженииили напишите генератор математических выражений, который обратен этому.TL; DR - практически, эта вещь может оценить все, что вы когда-либо хотели.Расширенный калькулятор наверняка.
Если вам понравится, вы можете даже продолжать следовать за ним и сделать свой собственный интерпретатор, это медленно, и если вы хотите другой синтаксис, вам придется немного подождать и подуматьоб этом, но я думаю, что стоит сделать хотя бы один раз в жизни.