#python #python-3.x
#python #python-3.x
Вопрос:
Мне нужно запросить у пользователя базовую операцию, такую как «4*5 25-5 .5/1» а затем решите эту проблему: как мне разделить свою строку, не забывая об операторе, или как я могу выбрать свои числа и разместить их в другом месте?
я пробовал разбивать (с помощью .split()) каждый оператор, оставляя только числа. Проблема возникает, когда я хочу фактически решить уравнение
operation = (4*5 25-5.5/1)
operation = operation.replace(*, " ")
operation = operation.replace(/, " ")
operation = operation.replace( , " ")
operation = operation.replace(-, " ")
list of operation = operation.split(" ")
это создает список с [4, 5, 25, 5.5, 1]
, но я больше не могу использовать операторы, так как я их удалил.
Ответ №1:
В дополнение к разделению строки на цифры и операторы, как упоминалось выше, вы всегда можете использовать eval
для вычисления строки без необходимости разделения.
In [13]: eval("4*5 25-5.5/1")
Out[13]: 39.5