Входной файл: | Стандартный вход | Ограничение времени: | 1 сек | |
Выходной файл: | Стандартный выход | Ограничение памяти: | 512 Мб | |
Максимальный балл: | 1 |
Требуется реализовать на языке Python класс
CardStack
. У класса должен быть следующий интерфейс:
from __future__ import annotations
from typing import Union, Iterable, List
class CardStack:
values: List[int]
def __init__(self, val: Union[int, Iterable[int], None] = None):
"""If val is None values is an empty list
If val is int fills values with val random integers between -100 and 100
If val is Iterable[int] fills values from val
"""
pass
def shuffled(self) -> CardStack:
"""Returns a new CardStack instance with shuffled values"""
pass
def combine(self, other: CardStack) -> CardStack:
"""Returns a new CardStack instance with self and other values combined one after another
[1, 2, 3], [4, 5, 6, 7] -> [1, 4, 2, 5, 3, 6, 7]
"""
pass
def add(self, value: int) -> None:
"""Adds a new value on top of the stack"""
pass
def __len__(self) -> int:
"""Returns the size of the stack"""
pass
Описание интерфейса использует аннотации типов, в частности, Union, List и Iterable.
Код решения должен содержать только определение и реализацию класса.