Mr. E Ven only likes even length words.
Please create a translator so that he doesn't have to hear those pesky odd length words.
For some reason he also hates punctuation, he likes his sentences to flow.

Your translator should take in a string and output it with all odd length words having an extra letter (the last letter in the word). It should also remove all punctuation (.,?!) as well as any underscores (_).

"How did we end up here? We go?"
translated becomes-> 
"Howw didd we endd up here We go"

Source: codewars | Difficulty: EASY
Tags: Fundamentals

Starter code: def evenator(s):
	

Solutions:
def evenize_word(w):
	return w + w[-1] if len(w) % 2 else w

def evenator(s):
	s = ''.join((c for c in s if c.isspace() or c.isalnum()))
	return ' '.join((evenize_word(w) for w in s.split()))


def evenator(s):
	return ' '.join([w + w[-1] if len(w) & 1 else w for w in ''.join([c for c in s if c.isalnum() or c == ' ']).split()])


from re import sub

def evenator(s):
	return ' '.join((word + word[-1] if len(word) % 2 else word for word in sub('[.,?!_]', '', s).split()))


import re

def fix(word):
	word = ''.join((c for c in word if c.isalnum()))
	if len(word) % 2:
		word += word[-1]
	return word

def evenator(s):
	return ' '.join(filter(None, map(fix, s.split())))


evenator = lambda s: ' '.join((e + e[-1] if len(e) % 2 else e for e in [''.join((c for c in w if c.isalnum())) for w in s.split()] if e != ''))


def evenator(s):
	words = [dupiword(evenatorword(s)) for s in s.split(' ')]
	return ' '.join(words).strip()

def dupiword(s):
	return s + s[len(s) - 1] if len(s) % 2 else s

def evenatorword(w):
	return ''.join([x if x.isalnum() else '' for x in w]).replace('  ', ' ')


import re

def evenator(s):
	return ' '.join([w if len(w) % 2 == 0 else w + w[-1] for w in re.sub('[!_.?,]', '', s).split()])