5

Pythonでシーザーシフトプログラムを作成しました。以下を参照してください。

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)

次のコードをシフトする必要があります。

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

ご覧のとおり、コメントが含まれています。

そのコードを文字列にするにはどうすればよいですか? コメントは、私の python スクリプトが出力を提供するのを妨げています。

ありがとう

4

3 に答える 3

1

ソース文字列に Python エスケープ文字が含まれている場合、三重引用符のアプローチは機能しません。たとえば、シーケンス\nは改行を意味し、(正しく) 2 文字ではなく 1 文字として解釈されます。

入力で提供されたすべての文字がそのままキャプチャされ、エスケープ/解釈されない一般的なソリューションが必要な場合はr、引用符の外側の先頭を介して生の文字列アプローチを使用します。

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

対。

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

心配する特別なケースはありません。

于 2013-08-27T15:35:17.557 に答える
1

入力テキストを三重引用符で囲みます。"""your code"""

于 2013-08-27T14:51:08.210 に答える