<p>我有一个显示方括号的程序,<code>'['</code>和<code>']'</code>。它以随机顺序和随机次数(最多99次)显示它们。你知道吗</p>
<p>下面的代码是我当前的代码,每次运行模块时都会显示如下内容。你知道吗</p>
<p>输入:</p>
<pre><code>[[[[]]]]
[][]][]][[][]
[]]]][[[[[[]]][][][[]
</code></pre>
<p>我的代码:</p>
<pre><code>import random
import string
def randomGen(N):
return random.randint(1,N)
char1 = '['
char2 = ']'
finalist = []
newList = []
newList2 = []
newValue = randomGen(99)
newValue2 = randomGen(99)
for i in range(newValue):
newList.append('[')
for j in range(newValue2):
newList2.append(']')
finalist = newList + newList2
for everChar in finalist:
print everChar,
</code></pre>
<p>我现在想让程序告诉用户显示的括号是平衡的还是不平衡的。我的意思是它是否由完全嵌套的对组成。你知道吗</p>
<p>所以<code>'[][][]'</code>是平衡的,<code>'[]]][[]'</code>是不平衡的。你知道吗</p>
<p>当我的模块运行时,我希望它显示一些关于括号的<code>'balanced'</code>或<code>'unbalanced'</code>的文本。你知道吗</p>
<p>我已将此添加到我的代码中,我不确定为什么它不起作用,但我认为我的思路是正确的:</p>
<pre><code>def balanced(input):
opened = 0
for c in input:
if c == '[':
openend += 1
elif c == ']':
opened -= 1
if opened < 0:
print 'Not Balanced'
if opened > 0:
print 'Not Balanced'
if opened == 0:
print 'Balanced'
print opened
return opened == 0
</code></pre>