Sto provando a stampare tutte le combinazioni valide di parentesi in python usando la mia intuizione. Ha quasi funzionato, ma solo che non stampa poche combinazioni. Il codice è simile al seguenteStampa di una combinazione valida di parentesi in 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)
Per n = 3, stampa
()()()
() (())
(())()
((()))
Funziona così.
Nella prima iterazione
()()() saranno stampate, quando la chiamata ritorna al padre immediato, sarà fetta della lista in cui ha iniziato a accodare prima che sarà ora() e eseguire la prossima iterazione del ciclo per la stampa() (()) e così via
il problema è che non sono in qualche modo in grado di catturare questa combinazione usando questa logica
(()())
Mentre sto pensando a come aggiustarlo, se c'è qualche pitone n guru può suggerire una soluzione a questo, allora sarà fantastico. Ci sono soluzioni alternative, ma poiché sono arrivato molto vicino, voglio migliorare il mio.
non credo che qualsiasi modifica diretta di questo funzionerà poiché si sta tentando di ridurre le parentesi (n) alle stringhe ottenute da singole chiamate alle parentesi (k) (dove k
Spot on, non è sufficientemente approfondito come evidenziato dal tuo esempio 6 - 4. – sysuser