Many people choose to obfuscate their email address when displaying it on the Web. One common way of doing this is by substituting the `@` and `.` characters for their literal equivalents in brackets.

Example 1:
```
user_name@example.com
=> user_name [at] example [dot] com
```

Example 2:
```
af5134@borchmore.edu
=> af5134 [at] borchmore [dot] edu
```
Example 3:
```
jim.kuback@ennerman-hatano.com
=> jim [dot] kuback [at] ennerman-hatano [dot] com
```

Using the examples above as a guide, write a function that takes an email address string and returns the obfuscated version as a string that replaces the characters `@` and `.` with `[at]` and `[dot]`, respectively.

>Notes

>* Input (`email`) will always be a string object. Your function should return a string.

>* Change only the `@` and `.` characters.

>* Email addresses may contain more than one `.` character.

>* Note the additional whitespace around the bracketed literals in the examples!

Difficulty: EASY
Starter code: def obfuscate(email):
	

Solutions:
def obfuscate(email):
	return email.replace('@', ' [at] ').replace('.', ' [dot] ')


def obfuscate(email):
	for rep in (('.', ' [dot] '), ('@', ' [at] ')):
		email = email.replace(*rep)
	return email


obfuscate = lambda email: email.replace('@', ' [at] ').replace('.', ' [dot] ')


from functools import reduce
REPLACEMENTS = (('.', ' [dot] '), ('@', ' [at] '))

def obfuscate(email):
	return reduce(lambda a, kv: a.replace(*kv), REPLACEMENTS, email)


def obfuscate(email):
	obemail = ''
	for l in email:
		if l == '@':
			obemail += ' [at] '
		elif l == '.':
			obemail += ' [dot] '
		else:
			obemail += l
	return obemail


import re

def obfuscate(email):

	def substitute(m):
		if m.group(0) == '@':
			return ' [at] '
		if m.group(0) == '.':
			return ' [dot] '
	rgx = re.compile('(@|\\.)')
	return re.sub(rgx, substitute, email)


import re
pattern = re.compile('[@\\.]')
obfusc = {'@': ' [at] ', '.': ' [dot] '}.get

def obfuscate(email):
	return pattern.sub(lambda x: obfusc(x.group()), email)


import re

def obfuscate(email):
	return re.sub('[@\\.]', lambda match: ' [at] ' if match.group(0) == '@' else ' [dot] ', email)