Ich bin seit einer ganzen Weile darauf fest, ich kann nicht mit rekursiven Fällen kommen, insbesondere verstehe ich nicht, wie man eine Liste aufteilen, um zu überprüfen, ob es ausgewogen ist. Wenn jemand mir helfen könnte, würde ich es sehr schätzen.Rekursiv auf symmetrische Zeichenfolge in Python überprüfen
def balanced_str(s):
"""
Return whether string s is balanced or not. A balanced string is one where
the string contains no parentheses
>>> balanced_str('a')
True
>>> balanced_str('abbcsi')
True
>>> balanced_str('ak)')
False
>>> balanced_str('hah(dh')
False
>>> balanced_str('()')
True
>>> balanced_str('(hghghgh)')
True
>>> balanced_str('((a))')
True
>>> balanced_str('((hahsh))')
True
>>> balanced_str('(gfjf)h)')
False
>>> balanced_str('(hhg)(hfhg)')
True
"""
if '(' not in s and ')' not in s:
return True
elif '(' in s and ')' not in s or ')' in s and '(' not in s:
return False
else:
if s[0] == '(' and s[len(s) - 1] == ')':
return balanced_str(s[1:len(s) - 2])
Ich denke, du meinst keine unübertroffenen Klammern, nein? –
@joelgoldstick ja – jia