Python:如何显示所有可能的情况以放置括号

时间:2016-12-21 05:48:06

标签: python

给出了一些括号对。我想显示这些括号的所有正确组合。正确的意思是我应该在每个组合关闭之前打开每个支架。例如,如果括号的数量为2,则输出应为:

(())
()()

3:

((()))
()()()
(()())
(())()
()(())

输出行的顺序并不重要。

我怎样才能用Python做到这一点?

1 个答案:

答案 0 :(得分:0)

请试用此代码:

def __F(l, r, pref):
    if r < l or l < 0 or r < 0:
        return
    if r == 0 and l == 0:
        print(pref)
        return
    __F(l - 1, r, pref + "(")
    __F(l, r - 1, pref + ")")

def F(n):
    __F(n, n, "")

F(2)
F(3)