前提・実現したいこと
書籍「独学プログラマーpython言語の基本から仕事のやり方まで」の中の、
スタックを使って文字を逆順にする、というプログラミング例を自分で入力して試しています。
プログラムは正常に動くのですが、その理由がわからないので困っています。
発生している問題・エラーメッセージ
下記のプログラムで、whileループをなぜ抜けているかがわかりません。
該当のソースコード
python3
1class Stack: 2 def __init__(self): 3 self.items = [] 4 5 def is_empty(self): 6 return self.items == [] 7 8 def push(self, item): 9 self.items.append(item) 10 11 def pop(self): 12 return self.items.pop() 13 14 def peek(self): 15 last = len(self.items) - 1 16 return self.items[last] 17 18 def size(self): 19 return len(self.items) 20 21stack = Stack() 22 23for c in "Hello": 24 stack.push(c) 25 26print(stack.items) 27 28reverse = "" 29 30while stack.size(): 31 reverse += stack.pop() 32 33print(reverse)
試したこと
print関数でstack.size()を確認しましたが、
最後に”0”と出力されてwhileループを抜けています。
”0”はFalseではないと思うのですが。。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/28 08:40