<filename>8-lists/pytest-exercises/lists/lists.py
def first_three(l):
    ''' list -> list

    Returns the first 3 elements of l.
    '''
    raise NotImplementedError("Delete this line and put your code here")

def last_three(l):
    '''list -> list

    Returns the last 3 elements of l
    '''
    raise NotImplementedError("Delete this line and put your code here")


def first_n(l, n):
    '''(list, int) -> list

    Precondition: n >= 0

    Returns the first n elements of l.
    '''
    raise NotImplementedError("Delete this line and put your code here")


def bookends(l):
    '''list -> list

    Returns the first and last items of l as a list with 2 items.
    If l has less than 2 items, return an empty list.
    '''
    raise NotImplementedError("Delete this line and put your code here")


def insides(l):
    '''list -> list

    Returns the contents of l without the first and last element.
    '''
    raise NotImplementedError("Delete this line and put your code here")


def combine(front, back):
    '''(list, list) -> list

    Returns the combination of front and back
    '''
    raise NotImplementedError("Delete this line and put your code here")


def doubled_bookends(l):
    '''list -> list

    Returns the first and last items of l doubled as a list with 2 items.
    If l has less than 2 items, it returns the empty list.
    '''
    raise NotImplementedError("Delete this line and put your code here")


def average(l):
    '''list -> Number

    Returns the average of l.
    If l is empty, returns None.
    '''
    raise NotImplementedError("Delete this line and put your code here")


def lucky_number_seven(l):
    '''list -> bool

    Returns True if l contains 7.
    '''
    raise NotImplementedError("Delete this line and put your code here")


def longer(first, second):
    '''(list, list) -> list

    Returns the longer list.
    If both lists are the same length, returns the concatenation of the two lists.
    '''
    raise NotImplementedError("Delete this line and put your code here")


def list_with_min(first, second):
    '''(list, list) -> list

    Precondition: first and second are nonempty

    Returns the list with the smallest element.
    If both elements have the same smallest element, return first.
    '''
    raise NotImplementedError("Delete this line and put your code here")


def index_of_index_of_five(l):
    '''list -> int

    Precondition: 5 in l

    Returns the index of the index of five.
    '''
    raise NotImplementedError("Delete this line and put your code here")

def sum_indicies_two_and_three(l):
    '''list -> int

    Precondition: 3 and 2 in l

    Returns the sum of the indicies of 2 and 3
    '''
    raise NotImplementedError("Delete this line and put your code here")

def list_of_three_ls(l):
    ''' list -> list

    Returns a list with 3 elements, each element is a copy of l.
    '''
    raise NotImplementedError("Delete this line and put your code here")

def n_times_l(l, n):
    '''(list, int) -> list

    Returns l repeated n times.
    '''
    raise NotImplementedError("Delete this line and put your code here")

def list_of_n_ls(l, n):
    '''(list, int) -> list

    Returns a list with n elements, each element is a copy of l.
    '''
    raise NotImplementedError("Delete this line and put your code here")

def sum_of_insides_and_len(l):
    '''(list) -> int

    Returns the sum of the insides of l(not first and last element)
    and the length of l.
    '''
    raise NotImplementedError("Delete this line and put your code here")

def sum_of_longer(first, second):
    '''(list, list) -> int

    Returns the sum of the longer list.
    If both lists are the same length, returns the sum of both lists.
    '''
    raise NotImplementedError("Delete this line and put your code here")

<filename>8-lists/pytest-exercises/lists/lists.py
def first_three(l):
    ''' list -> list

    Returns the first 3 elements of l.
    '''
    raise NotImplementedError("Delete this line and put your code here")

def last_three(l):
    '''list -> list

    Returns the last 3 elements of l
    '''
    raise NotImplementedError("Delete this line and put your code here")


def first_n(l, n):
    '''(list, int) -> list

    Precondition: n >= 0

    Returns the first n elements of l.
    '''
    raise NotImplementedError("Delete this line and put your code here")


def bookends(l):
    '''list -> list

    Returns the first and last items of l as a list with 2 items.
    If l has less than 2 items, return an empty list.
    '''
    raise NotImplementedError("Delete this line and put your code here")


def insides(l):
    '''list -> list

    Returns the contents of l without the first and last element.
    '''
    raise NotImplementedError("Delete this line and put your code here")


def combine(front, back):
    '''(list, list) -> list

    Returns the combination of front and back
    '''
    raise NotImplementedError("Delete this line and put your code here")


def doubled_bookends(l):
    '''list -> list

    Returns the first and last items of l doubled as a list with 2 items.
    If l has less than 2 items, it returns the empty list.
    '''
    raise NotImplementedError("Delete this line and put your code here")


def average(l):
    '''list -> Number

    Returns the average of l.
    If l is empty, returns None.
    '''
    raise NotImplementedError("Delete this line and put your code here")


def lucky_number_seven(l):
    '''list -> bool

    Returns True if l contains 7.
    '''
    raise NotImplementedError("Delete this line and put your code here")


def longer(first, second):
    '''(list, list) -> list

    Returns the longer list.
    If both lists are the same length, returns the concatenation of the two lists.
    '''
    raise NotImplementedError("Delete this line and put your code here")


def list_with_min(first, second):
    '''(list, list) -> list

    Precondition: first and second are nonempty

    Returns the list with the smallest element.
    If both elements have the same smallest element, return first.
    '''
    raise NotImplementedError("Delete this line and put your code here")


def index_of_index_of_five(l):
    '''list -> int

    Precondition: 5 in l

    Returns the index of the index of five.
    '''
    raise NotImplementedError("Delete this line and put your code here")

def sum_indicies_two_and_three(l):
    '''list -> int

    Precondition: 3 and 2 in l

    Returns the sum of the indicies of 2 and 3
    '''
    raise NotImplementedError("Delete this line and put your code here")

def list_of_three_ls(l):
    ''' list -> list

    Returns a list with 3 elements, each element is a copy of l.
    '''
    raise NotImplementedError("Delete this line and put your code here")

def n_times_l(l, n):
    '''(list, int) -> list

    Returns l repeated n times.
    '''
    raise NotImplementedError("Delete this line and put your code here")

def list_of_n_ls(l, n):
    '''(list, int) -> list

    Returns a list with n elements, each element is a copy of l.
    '''
    raise NotImplementedError("Delete this line and put your code here")

def sum_of_insides_and_len(l):
    '''(list) -> int

    Returns the sum of the insides of l(not first and last element)
    and the length of l.
    '''
    raise NotImplementedError("Delete this line and put your code here")

def sum_of_longer(first, second):
    '''(list, list) -> int

    Returns the sum of the longer list.
    If both lists are the same length, returns the sum of both lists.
    '''
    raise NotImplementedError("Delete this line and put your code here")

list -> list      Returns the first 3 elements of l. list -> list      Returns the last 3 elements of l (list, int) -> list      Precondition: n >= 0      Returns the first n elements of l. list -> list      Returns the first and last items of l as a list with 2 items.     If l has less than 2 items, return an empty list. list -> list      Returns the contents of l without the first and last element. (list, list) -> list      Returns the combination of front and back list -> list      Returns the first and last items of l doubled as a list with 2 items.     If l has less than 2 items, it returns the empty list. list -> Number      Returns the average of l.     If l is empty, returns None. list -> bool      Returns True if l contains 7. (list, list) -> list      Returns the longer list.     If both lists are the same length, returns the concatenation of the two lists. (list, list) -> list      Precondition: first and second are nonempty      Returns the list with the smallest element.     If both elements have the same smallest element, return first. list -> int      Precondition: 5 in l      Returns the index of the index of five. list -> int      Precondition: 3 and 2 in l      Returns the sum of the indicies of 2 and 3 list -> list      Returns a list with 3 elements, each element is a copy of l. (list, int) -> list      Returns l repeated n times. (list, int) -> list      Returns a list with n elements, each element is a copy of l. (list) -> int      Returns the sum of the insides of l(not first and last element)     and the length of l. (list, list) -> int      Returns the sum of the longer list.     If both lists are the same length, returns the sum of both lists.