@DoReSo
Начинающий программист

Python как перед x² и x извлечь число?

Всем шалом, я новичок в программировании и возникла такая вот проблема:
Есть выражение (оно может быть любым)
Например: 3x² + 16 - 7x
Мне нужно получить перед x² число 3 и добавить в переменную "а", получить перед х число -7 и добавить в переменную "b", ну и получить число 16 и добавить это число в переменную "с", каким образом это возможно сделать? Важно, порядок может и не соблюдаться, т.е. я бы мог и написать 13 -4x +x².
Буду очень благодарен за помощь
  • Вопрос задан
  • 418 просмотров
Пригласить эксперта
Ответы на вопрос 2
@XTerris
Можно разбить на отдельные числа, используя split(), откинуть знаки. И обработать массив из 3 элементов.
Потом проверить каждый:
1: если последний символ х, то взять всё до него(number[:-1] и привести к числу.
2: если предпоследний символ x, то взять всё до него(number[:-2]
3: если х нет, то просто привести к числу.
s = input().split()
for i in s:
    if len(i) > 2 and i[-2] == 'x':
        a = int(i[:-2])
    elif len(i) == 2 and i[0] == 'x':
        a = 1
    elif i[-1] == 'x':
        b = int(i[:-1]) if len(i) > 1 else 0
    elif i != '0' and i.isdigit():
        c = int(i)

print(a, b, c)

P.S. переделал код, так как намудрил с лямбдами
Ответ написан
@Wladislavich
Арсений, добрый день!

Рекомендую вам посмотреть базовые статьи или справку о модуле re для регулярных выражений в python. Это то, что вам нужно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы