0
文字列の中に括弧があるかどうかをチェックするコードです。角括弧( "("、 ")"、 "<", ">")が平衡しているかどうかをスタッククラスを使って確認する - python
print(balanced_brackets('(<x)>(())()'))
print(balanced_brackets('x<y)(>z'))
print(balanced_brackets('<(x)<y>)z'))
次の出力は、すべての印刷
False
べきであるが、彼らはいくつかの理由で
True
を印刷:次のテストのために
def balanced_brackets(text):
s = Stack()
for character in text:
if character == "(":
s.push(character)
elif character == ")":
if s.is_empty():
return False
else:
s.pop()
if character == "<":
s.push(character)
elif character == ">":
if s.is_empty():
return False
else:
s.pop()
if s.is_empty():
return True
else:
return False
。なぜこれが正しいのか判断するのに助けが必要です。ありがとうございました。
あなたがあなたのポップアップオープナーと実際に近い*が一致するかどうかはチェックしていません。 – user2357112
オープナーがスタックに入っているかどうかを確認するにはどうすればいいですか? –
elif "(" と のelif "<"を に入れましたが、スタックが反復可能ではないというエラーが表示されます。 –