私はプログラミングに慣れていません(6週間、 "codecademy"と "python the hard way"でネット上で教えられます)。私は方向なしでコードを書くことを実験し始めた時で、私は2番目のプロジェクトで壁に当たったと決めました。python 2.7辞書からの値でraw_input文字列を置き換えます。
私はraw_input文字列を取り、その中のすべての文字をアルファベットの次の文字に置き換える "秘密のコーダ"を作ろうとしています。私の非常に限られた知識で、私は辞書が行くべき方法であると考えました。
alpha = {"a" : "b", "b" : "c", "c" : "d", "d" : "e", "e" : "f", "f" : "g","g" : "h"
, "h" : "i", "i" : "j", "j" : "k", "k" : "l", "l" : "m","m" : "n", "n" : "o"
, "o" : "p", "p" : "q", "q" : "r", "r" : "s","s" : "t", "t" : "u", "u" : "v"
, "v" : "w", "w" : "x", "x" : "y", "y" : "z", "z" : "a"}
entry = raw_input("Please write a sentence you want to encode: ")
def encode(entry, letters):
for k, v in letters.iteritems():
if k in alpha:
entry = entry.replace(k, v)
return entry
print encode(entry, alpha)
私は文字列の半分だけ文字が辞書からの正しい値に置き換えられていることである持っている問題:「少し」グーグル助けを借りて、私はこれを書きました。 "a"を "b"、 "b"を "c"として印刷する場合は、 "a"と "b"の両方が "c"として印刷されます。私は完全に迷子に
私は数字で私の辞書内のすべての値を交換したときに、それは完璧に働いた、ということです。それの要点です
、私は本当に私のコードで間違っているものを得ることはありません。
ご協力いただきありがとうございます。
PS:これは私の最初の投稿でした。うまくいけば、私はすべてのやり方でやりました。
編集:私はまだ評判を得ることができないので、私はあなたの役に立つ答えのためにすべてここにありがとう。今私のミスがどこにあるのかがはっきりとわかります。ここで提供されている情報を利用してコードを修正し、正しく理解するための作業を行います。また、私は、この種の問題を解決するためにはるかに論理的かつ直接的なアプローチがあることがわかります。機能はまだ私には少しぼやけていますが、早い時期には正常です。あなたの印刷機能でencode(entry, alpha)
を呼び出す
あなたは、エントリではなく、文字のループに必要な、そしてバック – YOU
「」と各文字に参加し、このシナリオを想像して...あなたは、文字列に 'A'を持っており、あなたのループを、すべての'変更します'' ~'''を '' b'sに変更したのですが、 '' b''を 'c'sに変更します) –
:D私は熱狂が好きです。 Pythonは便利で強力ですので、実際の暗号化ソリューションを使用してメッセージを暗号化することも同様です。Pythonでどのようにシンプルになっているかを見てください。http://stackoverflow.com/questions/30056762/rsa-encryption-and-decryption-in -python :) –