Найти - Пользователи
Полная версия: Помощь в разделении примера
Начало » Python для новичков » Помощь в разделении примера
1
Xokare228
Здравствуйте, пишу извлекатель квадратных корней. Получаю строку вроде x^2-2x+15=0 нужно разделить её на отдельные числа. И вроде бы всё хорошо, используй re.split, но тогда числа будут x^2, 2x, 15, а мне надо что бы числа были x^2, -2x, 15. Как это сделать?
PEHDOM
Xokare228
огда числа будут x^2, 2x, 15, а мне надо что бы числа были x^2, -2x, 15. Как это сделать?
Ну самый просто способ предварительно заменить все “-” на “+-”, а в split убрать “-” из шаблона.Но это работает только если в вашей входящей строке невозможны варианты типа -x^2-2x+15=0 или x^2- -2x+15=0, тогда этот подход будет выдавать результаты типа такого ('', ‘-x^2’, ‘-2x’, ‘15) или такого (’x^2', ‘-’, ‘-2x’, ‘15=0’)
поэтому вместо re.split имхо лучше использовать re.findall(), а “- -” предварительно заменять на +,
 print(re.findall('[-]*[\w|\^]+', 'x^2-2x+15=0'))
>>> 
['x^2', '-2x', '15', '0']

но дальше вылезут еще какиенить бока,
ZerG
Это квадратное уравнение, оно всегда строго одинаковое. И в данном случае можно банально проверять строку на наличие плюса или минуса.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB