Python-put умножает символ между int и string

Я собираюсь создать программу для рисования линейного графика функции. Предположим, что пользователь вводит что-то вроде этого:

3x-2x+2 

Я хочу изменить его на:

 3*x-2*x+2 

Спасибо за помощь!

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

 re.sub(r"(?<=\d)x","*x","3x-2x+2") 

Это ищет цифру, за которой следует x , и вставляет * перед x (не потребляя ведущую цифру – lookbehind)

Если вы не знаете письмо, но хотите сделать это для a , b … используйте lookbehind + lookahead следующим образом:

 re.sub(r"(?<=\d)(?=[a-zA-Z])","*","3a-2b+2") 

(мой первый ответ был ленив, я не использовал lookahead, потому что знал, что мы ищем x )