Как я могу выбрать целые числа внутри моей строки?

#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