<p>我希望能够验证圆括号,这样它们就可以包含并忽略任何类型的字符。只要有效地使用了带括号的字符串的enclosure,那么<code>True</code>else`False。在</p>
<p>我对python还是个新手,所以我不知道如何正确地为这个特定条件创建if语句。我试图创建一个fi语句,这样当我<code>.pop()</code>一个空的<code>deque()</code>时,我将能够<code>return False</code>,而不是接收错误消息:</p>
<pre><code>Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: pop from an empty deque
</code></pre>
<p>也许还有其他更好的方法来解决这个问题。如果是这样的话,我很高兴看到别人会怎么解决这个问题</p>
<p>例如:</p>
^{pr2}$
<p>我的代码:</p>
<pre><code># any letter is ignored
# jsut make sure that the parenthesis are equal
from collections import *
def str_valid(stringy):
param_stack = deque()
for n in stringy:
if n ==')':
param_stack.pop()
if n == '(':
param_stack.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>('(')
if param_stack == []:
return True
else:
return False
a = 'sdf(sadf(sdf)sdf)sdfsd0sdf)sdf(sdf0)' # false
b = 'dsf))))(((((dsfsdf' # false
c = '()()()()' # true
d = '((((asd(asd)asd)()()asd))' # true
print str_valid(a)
print str_valid(b)
print str_valid(c)
print str_valid(d)
</code></pre>