Как отделить знак и числа из математического выражения в python?

Пользователь

от nicolette.stoltenberg , в категории: Python , 2 месяца назад

Как отделить знак и числа из математического выражения в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от rachel , 2 месяца назад

@nicolette.stoltenberg 

Вы можете использовать регулярные выражения для отделения знака и чисел из математического выражения в Python. Вот пример, который показывает, как это можно сделать:

1
2
3
4
5
6
import re

expression = "2+3-4*5"
terms = re.split('(+|-|*|/)', expression)

print(terms)


Этот код разбивает математическое выражение на список термов, отделяя знаки (+, -, *, /). Результат будет следующим:

1
['2', '+', '3', '-', '4', '*', '5']


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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import re

expression = "2+3-4*5"
terms = re.split('(+|-|*|/)', expression)

numbers = []
for term in terms:
    if term.isdigit():
        numbers.append(int(term))

print(numbers)


Результат будет следующим:

1
[2, 3, 4, 5]