def get_n_items(n, stack):
'''
- Return items and remainder of stack.
+ Return n items and remainder of stack.
Raise StackUnderflowError if there are fewer than n items on the stack.
'''
assert n > 0, repr(n)
try:
item, stack = stack
except ValueError:
- raise StackUnderflowError('Not enough values on stack.') from None
+ raise StackUnderflowError(
+ 'Not enough values on stack.'
+ ) from None
temp.append(item)
temp.append(stack)
return tuple(temp)
try:
_, s1 = s0
except ValueError:
- raise StackUnderflowError('Cannot take rest of empty list.') from None
+ raise StackUnderflowError(
+ 'Cannot take rest of empty list.'
+ ) from None
return s1, stack
╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚═════╝╚═╝ ╚═╝╚══════╝ ╚═════╝╚═╝ ╚═╝╚══════╝
'''
+
class NotAListError(Exception):
'''
Raised when a stack is expected but not received.