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'
```

Source: codewars | Difficulty: EASY

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('[^A-Za-z\\s]', phrase):
		return 'Not letters'
	acronym = ''
	for x in phrase.split():
		acronym += x[0]
	return acronym.upper()