リストの要素を逆順に出力するこのプログラムを作成しました。それは私に正しい答えを与えているが、答えの後に別のエラーを示す。 私のコードで何が問題になっていますか?スタックを使用して逆順でリストを書き込む際にエラーが発生しました
スタッククラス
class Stack:
def __init__(self):
self.items=[]
def isEmpty(self):
return self.items==[]
def push(self,data):
self.items.append(data)
def size(self):
return len(Self.items)
def show(self):
print (self.items)
def peek(self):
return self.items[len(self.items)-1]
def pop(self):
assert not self.isEmpty()
return self.items.pop()
プログラム
def reverseOrder():
lista = [1,4,6,7,8,9]
s = Stack()
for i in lista:
s.push(i)
while s.isEmpty:
print(s.pop())
reverseOrder()
と、次の私の出力です:
>>>
RESTART: C:/Users/Dil/AppData/Local/Programs/Python/Python36-32/Tutorials/reverseOrder.py
9
8
7
6
4
1
Traceback (most recent call last):
File "C:/Users/Dil/AppData/Local/Programs/Python/Python36-32/Tutorials/reverseOrder.py", line 35, in <module>
reverseOrder();
File "C:/Users/Dil/AppData/Local/Programs/Python/Python36-32/Tutorials/reverseOrder.py", line 33, in reverseOrder
print(s.pop());
File "C:/Users/Dil/AppData/Local/Programs/Python/Python36-32/Tutorials/reverseOrder.py", line 21, in pop
assert not self.isEmpty()
AssertionError
>>>
's.isEmpty'は' s.isEmpty()ではありません。 'でなければなりません。あなたの機能を呼び出す!セミコロンは使用しないでください。 – DyZ
いいえ、それでは私に出力が与えられていません。そこでは条件をチェックしています。だから私は思うようにs.isEmptyでなければなりません。 – dilk