### pythonでシーザー暗号の出力を行いたい
'This is my secret message.'をシーザー暗号化したいと考えているのですが、
実行すると、空白のみが出力されてしまいます。
そのように修正すればよいか教えてくださると助かります。
macOSを利用しています。
python
1#シーザー暗号 2 3import pyperclip 4 5#暗号化 復号する文字列 6message = 'This is my secret message.' 7 8#暗号化 復号の鍵 9key = 13 10 11#プログラムが暗号化するか複合するか 12mode = 'encrypt' # 'encrypt'あるいは'decrypt'のどちらかを指定する 13 14#暗号化できるシンボルの全候補 15SYMBOLS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890 !?.' 16 17#メッセージの暗号化復号の結果を格納する 18translated = '' 19 20for symbol in message: 21 #注意:文字列SYMBOLSに含まれるシンボルのみを暗号化複合する 22 if symbol in SYMBOLS: 23 symbolIndex = SYMBOLS.find(symbol) 24 25 #暗号化復号を実行する 26 if mode == 'encrypt' 27 translatedIndex = symbolIndex + key 28 elif mode == 'decrypt': 29 translatedIndex = symbolIndex - key 30 31 #必要に応じてラップアラウンドを処理する 32 if translatedIndex >= len(SYMBOLS): 33 translatedIndex = translatedIndex - len(SYMBOLS) 34 elif translatedIndex < 0: 35 translatedIndex = translatedIndex + len(SYMBOLS) 36 37 translated = translated + SYMBOLS[translatedIndex] 38 else: 39 #暗号化復号化せずにシンボルを追加する 40 translated = translated + symbol 41 42#変換後の文字列を出力する 43print(translated) 44print(pyperclip.paste()) 45
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/07/02 10:28
2022/07/02 10:40 編集
2022/07/02 10:39
2022/07/02 10:56