def fizz_buzz_three( start, end ):
    """
    Returns the fizzbuzz string for a given range using an inner
    function and a list comprehension.
    """
    def int_to_fizzbuzz(i):
        """ Output the 'fizzbuzz' string for a single number. """
        entry = ''
        if i%3 == 0: # if i divided by 3 has no remainder
            entry += "fizz"
        if i%5 == 0: # if i divided by 5 has no remainder
            entry += "buzz"
        if i%3 != 0 and i%5 != 0: # i is not divisible by 3 or 5 without remainder
            entry = i
        return entry
    return [int_to_fizzbuzz(i)  for i in range(start, end+1)]