Question: I created a caesar shift program in python, see below:

```
from string import maketrans

originalChar = (raw_input("Enter a letter: "))
numToInc = int(raw_input("Enter a number: "))
code = ""

for x in originalChar:
    newChar = (chr(ord(x) + numToInc))
    code = code + newChar

transtab = maketrans(chr(32+numToInc), " ")
print code.translate(transtab)

```

I have to shift the following code:

```
%%$@_$^__#)^)&!_+]!*@&^}@[@%]()%+$&[(_@%+%$*^@$^!+]!&_#)_*}{}}!}_]$[%}@[{_@#_^{*
@##&{#&{&)*%(]{{([*}@[@&]+!!*{)!}{%+{))])[!^})+)$]#{*+^((@^@}$[**$&^{$!@#$%)!@(&
+^!{%_$&@^!}$_${)$_#)!({@!)(^}!*^&!$%_&&}&_#&@{)]{+)%*{&*%*&@%$+]!*__(#!*){%&@++
!_)^$&&%#+)}!@!)&^}**#!_$([$!$}#*^}$+&#[{*{}{((#$]{[$[$$()_#}!@}^@_&%^*!){*^^_$^

```

As you can see, it contains comments.

How do I make that code into a string? The comments are stopping my python script from giving any output.

Thanks

Answer: 
Tripple quote it:

```
"""%%$@_$^__#)^)&!_+]!*@&^}@[@%]()%+$&[(_@%+%$*^@$^!+]!&_#)_*}{}}!}_]$[%}@[{_@#_^{*
@##&{#&{&)*%(]{{([*}@[@&]+!!*{)!}{%+{))])[!^})+)$]#{*+^((@^@}$[**$&^{$!@#$%)!@(&
+^!{%_$&@^!}$_${)$_#)!({@!)(^}!*^&!$%_&&}&_#&@{)]{+)%*{&*%*&@%$+]!*__(#!*){%&@++
!_)^$&&%#+)}!@!)&^}**#!_$([$!$}#*^}$+&#[{*{}{((#$]{[$[$$()_#}!@}^@_&%^*!){*^^_$^"""

```

Triple quoted strings can span multiple lines as well as have comments in them.
The triple-quote approach won't work if your source string contains Python escape characters. For example, the sequence `\n` means newline, and is interpreted (correctly) as one character, not two.

If you want a general solution in which all the characters provided in your input are captured as-is and without escaping / interpretation, use the raw string approach via a leading `r` outside the quotes:

```
>>> s = '\n\n\n'
>>> print len(s)
3

```

vs.

```
>>> r = r'\n\n\n'
>>> print len(r)
6

```

No special cases to worry about.