مثال حلشده
متوسط پشتهٔ جنریک
صورت مسئله
یک Stack رشتهای بساز، دو عضو بگذار، یکی بردار؛ بعد pop از پشتهٔ خالی را امتحان کن.
راهحل گامبهگام
۴ گام باقی مانده
from typing import TypeVar, Generic
T = TypeVar("T")
class Stack(Generic[T]):
def __init__(self) -> None:
self._items: list[T] = []
def push(self, item: T) -> None:
self._items.append(item)
def pop(self) -> T:
if not self._items:
raise IndexError("پشته خالی است.")
return self._items.pop()
def peek(self) -> T:
if not self._items:
raise IndexError("پشته خالی است.")
return self._items[-1]
s: Stack[str] = Stack()
s.push("اول")
s.push("دوم")
print(s.pop()) # دوم