Я создал программу, которая конвертирует infix в postfix в python. Проблема в том, когда я ввожу аргументы. Если я введу что-то вроде этого: (это будет строка)
( ( 73 + ( ( 34 - 72 ) / ( 33 - 3 ) ) ) + ( 56 + ( 95 - 28 ) ) )
он разделит его на .split(), и программа будет работать правильно. Но я хочу, чтобы пользователь мог ввести что-то вроде этого:
((73 + ( (34- 72 ) / ( 33 -3) )) + (56 +(95 - 28) ) )
Как вы можете видеть, я хочу, чтобы пустые пространства могли быть тривиальными, но программа продолжает разделять строку скобками, целыми числами (не цифрами) и операндами.
Я пытаюсь решить его с помощью for
, но я не знаю, как поймать все число (73, 34, 72) вместо одной цифры по цифре (7, 3, 3, 4, 7, 2)
Подводя итог, я хочу разбить строку типа ((81 * 6) /42+ (3-1))
на:
[(, (, 81, *, 6, ), /, 42, +, (, 3, -, 1, ), )]