我試圖做一個函數,通過多個括號查看並從內部返回每個括號的內容。 所以給出的輸入(9 *(2 *(6 * 6))),它會返回遞歸/迭代函數返回括號內的內容?
(6*6)
(2*(6*6))
(9*(2*(6*6)))
我有這個迄今爲止但林不知道如何使它爲多對支架的工作。它只返回最內層的支架。
def in_brackets(str) :
close_b = 0
open_b = 0
if len(str) < 5 :
return True
while str[close_b] != ')':
close_b += 1
if str[close_b] == '(':
open_b = close_b
in_b = str[open_b:close_b + 1]
return(in_b)
你應該輸入「((1 + 2)*(3 + 4))'返回 – Kevin 2015-04-02 17:51:02
,將剛剛返回(1 + 2) *(3 + 4) – iotaa 2015-04-02 17:54:26
看看[這個答案](http://stackoverflow.com/a/1657068/2072035)(pyparsing)。 – saaj 2015-04-02 18:18:56