Because my other two parts of the serie were pretty well received I decided to do another part.
Puzzle Tiles
You will get two Integer n (width) and m (height) and your task is to draw following pattern. Each line is seperated with '\n'.
Both integers are equal or greater than 1. No need to check for invalid parameters.
There are no whitespaces at the end of each line.
e.g.:
                                       \_( )\_\_ \_( )\_\_ \_( )\_\_ \_( )\_\_
                                     \_|     \_|     \_|     \_|     \_|
                                    (\_   \_ (\_   \_ (\_   \_ (\_   \_ (\_
                                     |\_\_( )\_|\_\_( )\_|\_\_( )\_|\_\_( )\_|
                                     |\_     |\_     |\_     |\_     |\_
             puzzleTiles(4,3)=>       \_) \_   \_) \_   \_) \_   \_) \_   \_)
                                     |\_\_( )\_|\_\_( )\_|\_\_( )\_|\_\_( )\_|
                                     \_|     \_|     \_|     \_|     \_|
                                    (\_   \_ (\_   \_ (\_   \_ (\_   \_ (\_
                                     |\_\_( )\_|\_\_( )\_|\_\_( )\_|\_\_( )\_|
For more informations take a look in the test cases!
 Serie: ASCII Fun
ASCII Fun #1: X-Shape
ASCII Fun #2: Funny Dots
ASCII Fun #3: Puzzle Tiles
ASCII Fun #4: Build a pyramid
def puzzle_tiles(width, height):
    r=[]
    r.append('  '+' _( )__'*width)
    for i in range(height):
        if i%2==0:
            r.append(' _'+'|     _'*width+'|')
            r.append('(_   _ '*width+'(_')
        else:
            r.append(' '+'|_     '*width+'|_')
            r.append('  _)'+' _   _)'*width)
        r.append(' '+'|__( )_'*width+'|')
    return '\n'.join(r)
def puzzle_tiles(width, height):
    r=[]
    r.append('  '+' _( )__'*width)
    for i in range(height):
        if i%2==0:
            r.append(' _'+'|     _'*width+'|')
            r.append('(_   _ '*width+'(_')
        else:
            r.append(' '+'|_     '*width+'|_')
            r.append('  _)'+' _   _)'*width)
        r.append(' '+'|__( )_'*width+'|')
    return '\n'.join(r)