Q:

How to change letters to lowercase in a string recursively? 

I've been given a lab using the ord() and chr() functions to convert letters to ASCII values and vice versa to check if the letter entered is upper or lower case.  I got that part down, but the second part is to change uppercase letters in a string to lowercase recursively.  
E.g. of how it's supposed to work:
>>> lowercase("Hello")
hello

It's kinda confusing, I don't know if I have to use the mapping function or what. 
Here's what I have:
def lowercase(word): #accepts a string
    if word == []: #base case
        return []
    else:
        letter = ord(word[0])      #converts first character to ASCII Value
        if letter in range(65, 91):      #Checks if character is uppercase (ASCII uppercase Values)
            return chr(letter + 32) + lowercase(word[1:])      #converts letter to lower case by adding 32
        elif letter in range(97, 123):     #if letter is lowercase return the letter (ASCII lowercase Values)
            return chr(letter) + lowercase(word[1:])

WORD = str(raw_input("Enter a word: "))
print lowercase(WORD)

I have an idea of how it's supposed to work but that code is obviously not correct.  What am I doing wrong? 

A:

Your base case is incorrect.  You should check for an empty string and not an empty list. 
if word == '': #base case
    return ''

