Я пытаюсь напечатать всю действительную комбинацию круглых скобок в python, используя мою собственную интуицию. Он почти сработал, но просто он не печатает несколько комбинаций. Код выглядит следующим образомПечать правильной комбинации круглых скобок в python
solution = ""
def parentheses(n):
global solution
if n == 0:
print solution
return
for i in range(1, n+1):
start_index = len(solution)
solution = solution + ("(" * i + ")" * i)
parentheses(n - i)
solution = solution[:start_index]
if __name__ == "__main__":
n = int(raw_input("Enter the number of parentheses:"))
print "The possible ways to print these parentheses are ...."
parentheses(n)
при п = 3, он печатает
()()()
() (())
(())()
((()))
Это работает именно так.
В первой итерации
()()() будет напечатано, когда вызов возвращается к немедленному родителю, он будет срез списка, где он начал добавлять первый, который теперь будет() и запустить следующую итерацию цикла для печати() (()) и так далее
проблемы в том, что я как-то не в состоянии захватить эту комбинацию, используя эту логику
(()())
Хотя я думаю о том, как исправить это, если какой-либо pytho Русский гуру может предложить исправить это, тогда это будет здорово. Существуют альтернативные решения, но, поскольку я подошел очень близко, я хочу улучшить свою работу.
Я не думаю, что любая прямая модификация этого будет работать, так как вы пытаетесь уменьшить круглые скобки (n) до строк, полученных одиночными вызовами в круглые скобки (k) (где k
Пятно на, это не слишком глубоко, как показано на примере 6 - 4. – sysuser