リストからスタックに要素をプッシュしようとしています。コードは次のとおりです。
#!/usr/bin/python
class Stack :
def __init__(self) :
self.items = []
def push(self, item) :
self.items.append(item)
def pop(self) :
return self.items.pop()
def isEmpty(self) :
if self.items == []:
return true
def InsertIntostacks(lst1):
X = Stack() #for each expression a stack is defined
Y = Stack()
for words in lst1:
if (ord(words) >= 48 and ord(words) <= 57) or (ord(words) >=65 and ord(words) <= 90):
X.push(words)
else:
Y.push(words)
print X.pop()
if __name__ == '__main__':
a = open("testinput1.txt","r+")
wordList = [line.strip() for line in a];
#print wordList[1]
lst=list()
for words in wordList:
if words == '#':
print "End of file"
else:
lst = list(words)
lst1 = list()
print lst
for x1 in lst:
if x1 != ' ':
lst1.append(x1)
InsertIntostacks(lst1)
したがって、X にデータが入力され、Y に演算子を含める必要がありますが、Y に要素が含まれていないようです (A=B=C のような入力なので、Y には = = が含まれている必要があります)。制約を削除し、すべての要素を 1 つのスタックにプッシュすると、オペレーターが存在します。ここで何が間違っていますか?