Implement a function called makeAcronym that returns the first letters of each word in a passed in string.

Make sure the letters returned are uppercase.

If the value passed in is not a string return 'Not a string'.

If the value passed in is a string which contains characters other than spaces and alphabet letters, return 'Not letters'.

If the string is empty, just return the string itself: "".

**EXAMPLES:**
```
'Hello codewarrior' -> 'HC'

'a42' -> 'Not letters'

42 -> 'Not a string'

[2,12] -> 'Not a string'

{name: 'Abraham'} -> 'Not a string'
```

Difficulty: introductory

Starter code:

def make_acronym(phrase):
	

Solutions:
def make_acronym(phrase):
    try:
        return ''.join(word[0].upper() if word.isalpha() else 0 for word in phrase.split())
    except AttributeError:
        return 'Not a string'
    except TypeError:
        return 'Not letters'

from operator import itemgetter

def make_acronym(phrase):
    if type(phrase) != str: return "Not a string"
    if not all(c.isalpha() or c.isspace() for c in phrase): return "Not letters"
    return ''.join(map(itemgetter(0), phrase.split())).upper()

def make_acronym(phrase):
    if not isinstance(phrase, str): return 'Not a string'
    arr = phrase.split()
    return ''.join(a[0] for a in arr).upper() if all(map(str.isalpha, arr)) else 'Not letters'       

def make_acronym(phrase):
    if not isinstance(phrase, str):
        return 'Not a string'
    elif phrase == '':
        return ''
    elif not phrase.replace(' ', '').isalpha():
        return 'Not letters'
    else:
        return ''.join(word[0].upper() for word in phrase.split(' '))

def make_acronym(phrase):
    if isinstance(phrase, str):
        words = phrase.split()
        if all(x.isalpha() or x.isspace() for x in words):
            return ''.join(x[0] for x in words).upper()
        else:
            return 'Not letters'
    return 'Not a string'

from string import ascii_letters
def make_acronym(phrase):
  acronym = ''
  if isinstance(phrase, str):
    words = phrase.split()
    for word in words:
        for char in word:
          if char in ascii_letters:
            pass
          else:
            return 'Not letters'
        acronym += word[0].upper()
    return acronym
  return 'Not a string'

def make_acronym(phrase):
    if not isinstance(phrase, str):
        return 'Not a string'
    words = phrase.split();
    if not all(i.isalpha() for i in words):
        return 'Not letters'
    return ''.join(p[0] for p in words).upper()

def make_acronym(phrase):
    import re
    if type(phrase) is not str:
        return 'Not a string'
    if re.search(r'[^A-Za-z\s]',phrase):
        return 'Not letters'
    acronym = ''
    for x in phrase.split():
        acronym += x[0]
    return acronym.upper()