我在Python中創建了一個程序,如果a
和b
元素的數量相等,則返回布爾值True,否則返回False。每次運行這個時,我都會得到一個「真」輸出,而不是「假」。有人可以用我的代碼找出問題嗎?如何將我的堆棧項目傳遞給一個函數?
def equal(s):
s = Stack()
stack_a = Stack()
stack_b = Stack()
while not s.is_empty():
if s.top() == 'a':
var = s.pop()
push(stack_a, var)
else:
var = s.pop()
push(stack_b, var)
if stack_a.size() == stack_b.size():
return True
else:
return False
my_list = ['a', 'a', 'a', 'b']
print equal(my_list)
PEP8是你的朋友:http://www.python.org/dev/peps/pep-0008/。 –
什麼是「堆棧」? – Veedrac
我不明白爲什麼它不應該是https://en.wikipedia.org/wiki/Stack_(abstract_data_type) –