不用困扰啊,你试着做就很轻松解决了。关键是选对方法。
办法有不少于2种。 比较正式的做法是
先用递归把函数参数解析出来
当解析到最后一层时,把上一层的函数保留下来,最后只保留最后一层的函数名和最后一层的参数名。放在堆栈里。
将结果把按顺序打印出来
我想困扰你的应该是你对递归算法,或者是堆栈的原理不太熟悉。另外就是对python的数组这个数据结构的push,pop方法不熟悉。
你分别单独练习,练熟了,再做这道题就很轻松了。
还有一种偏门的方法,直接统计括号数,然后计算括号层数。倒数一层,找到匹配的括号对,把括号对里的函数提出来,再用,进行split,最后再用join接起来。这样代码量,估计3-4行就解决问题了。也不需要递归与堆栈。不过,这样一来,你的老师要失望了。他的目标应该是让你练习递归的。