Разбор математического выражения в Python и решение, чтобы найти ответ

Я довольно новичок в программировании. Это связано с питоном. Поэтому идея состоит в том, чтобы взять выражение, такое как 3/5 или, самое большее, 3/5 * 2 (самое большее два оператора, обратите внимание, что операторы могут быть любыми из +, -, /, *) и решить его. Пробел может существовать где угодно в выражении.

Пользователь вводит выражение, скажем, 3/5, и программе необходимо решить выражение и отобразить ответы. То, что я попробовал, ниже. Обратите внимание, что я попробовал только первую часть, как только я смогу правильно разделить исходное выражение, которое вводит пользователь (который будет строкой), создание функций будет легкой частью:

expres= str(input("something:"))

ssplit= hit.partition("/")
onec= int((ssplit[0].lstrip()).rstrip())
twoc= (ssplit[1].lstrip()).rstrip()
threec= int((huns[2].lstrip()).rstrip())


print(onec,"...",twoc,"...",threec) #just a debug test print

Итак, выше, я могу взять выражение наподобие 3/5 и разделить его на три отдельные строки: 3, / и 5. Я также могу удалить все пробелы до и после операторов / операндов. У меня проблемы с разбиением выражений типа 4/5 + 6, потому что я могувведите код для ssplit [3] или ssplit [4], а затем введите выражение типа 3/5, потому что оно выиграетбыть определенным. По сути, мне нужна была ваша помощь, чтобы узнать, как разбить выражение, например 3 / 4-6 и т. Мне также нужна помощь с линией ""ssplit= hit.partition("/") так что он будет смотреть на введенное выражение и работать с +, - и *. Любая помощь приветствуется. Также, если мой код выше выглядит противным и неэффективным, пожалуйста, дайте мне критику. Спасибо!

Обратите внимание, я могут, и не будетЯ не хочу использовать eval. Порядок операций обязателен. Я не могу использовать сложные команды. Мне нужно, чтобы все было просто, самое большее, что я могу использовать - это строковые библиотеки, конвертирование между строками / целыми числами / числами с плавающей точкой и т. Д., И если, и, и т. заявления. Я также могу использовать функции.

Ответы на вопрос(3)

Ваш ответ на вопрос