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: introductory

Starter code:

def obfuscate(email):
	

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


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

def obfuscate(email):
    '''
Salvador Dali - The Persistence of Memory
      ;!>,!!!>
      <! ;!!!`
      !! `!!!.
      !!`,!!!>
      !! !!!!!
     ;!! !!!!!
     `!! !!!!!
      !! !!!!!>                           .
      `!.`!!!!!                        ;<!`
       !! `!!!!                     ,<!``
       `!> !!!!                   ;<!`
       <!! !!!!>                ;!``
       !!! `!!!!               !!`                                    ,c,
       !!!> !!!!>             ;`<             ,cc$$cc            .,r== $$c !
       !!!! !!!!!!.        ,<!` !!!!!>>>;;;;;;;;.`"?$$c MMMMMMM )MM ,= "$$.`
       <!!> !!!!!!!!!!!!!>`` ,>````  ``````````!!!; ?$$c`MMMMMM.`MMMP== `$h
       `!! ;!!!!!!````.,;;;```          JF !;;;,,,,; 3$$.`MMMMMb MMMnnnM $$h
       ;!! <!!!!.;;!!!```               JF.!!!!!!!!!>`$$h `MMMMM MMMMMMM $$$
       ;!!>`!!!!!!``                    ?> !!!!!!!!!> $$$  MMMMM MMMMMMM $$$
       <!! ;!!!!`                       `h !!!!!!!!!! $$$ MMMMMM MMMM" M $$$
       `!>`!!!!                          b !!!!!!!!!! $$$ MMMMMM MMML,,`,$$$
,,,,,, ;! <!!!> ,,,,,,,,,,,,,,,,         $ !!!!!!!!!! $$$ MMMMMM MMMMML J$$F
!!!!!! !! !!!! `!!!!!!!!!!!!!!` ;        $ !!!!!!!!!! $$$ MMMMMP.MMMMMP $$$F
!!!!! ;!! !!!!> !!!!!!!!!!!!` ;` .`.`.`. ?.`!!!!!!!!! 3$$  MMMP `MMMMM>,$$P
!!!!` !!` !!!!> !!!!!!!!!!` ;!` `.`.`.`. `h !!!!!!!!! $$$  MMML  MMPPP J$$`.
!!!! !!!;!!!!!`;!!!!!!!!` ;!`  .`.`.`.`.` ?,`!!!!!!!! ?$$ MMMMM.,MM_"`,$$F .
!!!`;!!!.!!!!` <!!!!!!!` ;`  .`.`.`.`.`.`. ? `!!!!!!!>`$$ MMMMMbdML ` $$$  .
``` !!!> !!!! ```````` ;!  .`.`.`.`.`.`.`.` h `!!!!!!> $$ )MMMMMMMMM d$$` `.
!!` !!!``!!! <!!!!!!!> ` .`.`.`.`.`.`.`.`.` `?,``!!!!! ?$h 4MMMMMMP z$$` .`.
`` <!!! !!!> ````````  .`.`.`.`.`.`.`.`.`.`.` ?h.````..`$$  MMMMMM ,$$F `.`.
` !!!! <!!!.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`. `"??$F". `$h.`MMMMM $$$`.`.`.
 <!`! .!!!!> .`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`. cccc  `$$.`4MMP.3$F .`.`.
<!``! !!!!!> .`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`. J$$$$$F . "$h." . 3$h .`.`.
!` ! !!!!!!> .`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.  """" .`.`.`$$, 4 3$$ .`.`.
 ;! !!!!!!! `.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.  ?$h  J$F .`.`.
;`  !!!!!!! `.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`. "$$$$P` .`.`.
`  <!!!!!!! `.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`. . .`.`.`.`.
,` !!!!!!! .`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.`.
!! !!!!!!`,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,  `.`.`.`.
!! !!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`  `.`.`.`.
!! <!!!!`;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;! `.`.`.`.
!! ;!!!!>`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!` <!! `.`.`.`.
`,,!!!!``.;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!` <!!! `.`.`.`.
`````.,;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!` <!!!! `.`.`.`.
;!!!!!!!!!!!!!!!!!!!!!!!>>>````````````````````<!!!!!!!!!!!` !!!!!! `.`.`.`.
!!!!!!!!!!!!!!!!!!````_,,uunmnmnmdddPPPPPPbbbnmnyy,_`````!  !!!!!!! `.`.`.`.
!!!!!!!!!``_``!``,nmMMPP"""`,.,ccccccr==pccccc,,..`""444n,.`<!!!!!! `.`.`.`.
!!!!!!!` ,dMM ,nMMP"",zcd$h.`$$$$$$$$L c  $$$$$$$$$$??cc`4Mn <!!!!! `.`.`.`.
!!!!!! ,MMMP uMMP ,d$$$$$$$$cd$F ??$$$$$cd$$$$$$$$$F, ??h.`Mx !!!!! `.`.`.`.
!!!!!! MMMP uMM",F,c ".$$$$$$$P`   ?$$$$$$$$$$$$$$$$C`,J$$.`M.`!!!! `.`.`.`.
!!!``  MMM 4MMM L`"=-z$$P".,,.    ,c$$$$$$$$$$$$$$$$$$$$$$$ ML !!!! `.`.`.`.
!!!.   `"" MMMM `$$hc$$$L,c,.,czc$$$$$$$$$$$$$$$$$$$$$$$$$$.4M `!!! `.`.`.`.
!!!!;;;..  `MMMb ?$$$$$$??""""?????????????????? ;.`$$$$$$$`JM`,!!! `.`.`.`.
!!!!!!!!!>  4MMMb."?$$$cc,.. .,,cccccccccccccccc,c`.$$$$$$$ MM <!!! `.`.`.`.
!!!!!!!!!!  `MMMMMb,."??$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$?$$$ MM ;!!! `.`.`.`.
!!!!!!!!!!    "4MMMMMMmn,."""???$$$$$$$$$$$$$$$$$$ $$$" ?$$ MP !!!! `.`.`.`.
!!!!!!!!!!!;.   "4MMMMMMMMMMMmnmn,.`"""?????$$$$$$ ?$$  `CF.M> !!!! `.`.`.`.
!!!!!!!!!!!!!!;.   `""44MMMMMMMMMMMMMMMMnnnn. ?$$$.<$$$h.$h MM !!!! `.`.`.`.
!!!!!!!!!!!!!!!!>.;.      `""444MMMMMMMMMMMMMb $$$:<$$$$$$$ 4M <!!! `.`.`.`.
!!!!!!!!!!!!!!!!!!!!!;<;);>;.     ..""""44MMMM J$`  <$$$$$$h`Mb`!!! `.`.`.`.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!>;      `MMM ?$.  d$$$$$$$ MM.`!! `.`.`.`.
!!!!!!!!!!```!``` ..``<!!!!!!!!!!!!!!!; .  MMM.<$$ <$$$$$$$$ 4Mb !! `.`.`.`.
!`````````..    ;MMMMnn.`!!!!!!!!!!!!!!! ; MMM J$$hJ$$$$$$$$h`MM !! `.`.`.`.
,xmdMMMbnmx,.    MMMMMMMr !!!!!!!!!!!!` ;: MMM $$$$$$$$$$??$$ MM !! `.`.`.`.
P"`.,,,,c`""4MMn  MMMMMMx !!!!!!!!!!!` <!: MMM $$$$$$$$L =c$F.MP !! `.`.`.`.
ub "P4MM")M,x,"4b,`44MMMP !!!!!!!!!!  !!!: MMM ???$$$$$$"=,$ JM`;!! `.`.`.`.
ML,,nn4Mx`"MMMx.`ML ;,,,;<!!!!!!!!! ;!!!!: MMM.-=,$$$$$$hc$`.MP !!! `.`.`.`.
. MMM   4Mx`MMML MM,`<!!!!!!!!!!!! ;!!!!!` `MMb  d$$$$$$$$` MM`,!!! `.`.`.`.
,d" MMn. .,nMMMM MMM `!!!!!!!!!!! ;!!!!!!>  4MMb `$$$$$$$`.dM`.!!!! `.`.`.`.
.`"M"_" MMMMMMMP,MMM ;!>>!!!!!!` <!!!!!!!!!. "MMb $$$$$$$ dM ;!!!!! `.`.`.`.
 `nr;MMMMM"MMMP dMM` >>!(!)<<!  <!!!!!!!!!!!. `MM.`$$$$$$ MM !!!!!! `.`.`.`.
",Jn,"". ,uMMP dMMP /)<;>><>` .!!!!!!!!!!!!!!; `Mb $$$$$F;MP !!!!!! `.`.`.`.
 dPPM 4MMMMM" dMMP (->;)<><` ;!!!!!!!!!!!!!!!!. 4M $$$$$h M>.!!!!!! `.`.`.`.
=M uMMnMMM" uMMM" <!;/;->;` ;!!!!!!!!!!!!!!!!!; 4M.??"$$`,M <!!!!!! `.`.`.`.
JM )MMMM" uMMMM`,!>;`(>!>` <!!!!!!!!!!!!!!!!!!! 4M> -??`,M` !!!!!!! `.`.`.`.
MM `MP" xdMMMP <(;<:)!`)` <!!!!!!!!!!!!!!!!!!!! MMb  - ,M`;!!!!!!!` `.`.`.`.
MP   ,nMMMMP" (>:)/;<:!  !!!!!!!!!!!!!!!!!!!!!! `MM.-= d`;!!!!!!!! .`.`.`.`.
,xndMMMMP" .;)`;:`>(;:  !!!!!!!!!!!!!!!!!!!!!!!; 4MMnndM <!!!!!!!  .`.`.`.`.
MMMMMP" .;(:`-;(.><(` ;!!!!!!!!!!!!!!!!!!!!!!!!!, 4MMMMP !!!!!!!> `.`.`.`.`.
P"" .,;<):(;/(\`>-)` ;!!!!!!!!!!!!!!!!!!!!!!!!!!!>.`"P" <!!!!!!! .`.`.`.`.`.
,<;),<-:><;,<- >;>` ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;;<!!!!!!!!  .`.`.`.`.`.
)-/;`<:<;\->:(`;(` ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!` `.`.`.`.`.`.
:\;`<(.:>-;(;<>:  <!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .`.`.`.`.`.`.
(.;>:`<;:<;-/)/  <!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  .`.`.`.`.`.`.
;-;:>:.;`;(`;` ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!` `.`.`.`.`.`.`.
    '''
    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(r'(@|\.)')  # matches either an @ or a literal dot
    return re.sub(rgx, substitute, email)

import re

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

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

import re


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