質問するログイン新規登録

回答編集履歴

2

追記

2018/09/10 09:07

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -21,6 +21,39 @@
21
21
  論理バグがあり、例えば`z`をまともに置き換えできません。
22
22
  もうちょっと考えなおした方が良いでしょうね。
23
23
 
24
+ 書いてみた
25
+ ---
26
+ 個人的な趣味全開です。
27
+ ```Python
28
+ from string import ascii_lowercase as chars
29
+
30
+
31
+ def revolve(seq, shift):
32
+ shift %= len(seq)
33
+ return seq[shift:] + seq[:shift]
34
+
35
+ def make_decode(shift):
36
+ rep_table = str.maketrans(
37
+ chars, revolve(chars, shift)
38
+ )
39
+
40
+ def decode(text):
41
+ return text.translate(rep_table)
42
+
43
+ return decode
44
+
45
+
46
+ decode = make_decode(3)
47
+ print(
48
+ decode('ab c')
49
+ )
50
+ ```
51
+
52
+ **実行結果** [Wandbox](https://wandbox.org/permlink/hvvM3xrw5BE2mPXr)
53
+ ```plain
54
+ de f
55
+ ```
56
+
24
57
  コードの書き方について
25
58
  ---
26
59
  teratailには、コードを見やすく表示する機能があります。

1

追記

2018/09/10 09:07

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -19,4 +19,11 @@
19
19
  ただし
20
20
  ---
21
21
  論理バグがあり、例えば`z`をまともに置き換えできません。
22
- もうちょっと考えなおした方が良いでしょうね。
22
+ もうちょっと考えなおした方が良いでしょうね。
23
+
24
+ コードの書き方について
25
+ ---
26
+ teratailには、コードを見やすく表示する機能があります。
27
+ 質問編集画面を開き、コードを選択した状態で<code>ボタンを押してください。
28
+ ![Python](56957fe805d9d7befa7dba6a98676d2b.gif)
29
+ 特にPythonの場合、インデントが崩れるとコードの意味が変わってしまいます。