2017-07-04 18 views
0

私はROT13用の小さなPythonプログラムをコーディングしています。文字列内の1文字をどのように置き換えることができますか?

意味がわからない場合は、アルファベットの文字をその前の13番目の文字に置き換えることを意味し、「a」は「n」になります。

ユーザーは入力を求め、文章の各文字を先頭の13文字目に置き換えます。

これは、それぞれの文字を置き換える必要があることを意味します。

私はre関数をインポートしようとしましたが、機能しませんでした。これは私がこれまでに得たものです。

import re 

Alpha = input("Input the word you would like translated") 


Alpha = re.sub('[abcdefghijklmnopqrstuvwxyz]', 'nopqrstuvwxyzabcdefghijklm', 
Alpha) 
print(Alpha) 

ヘルプは大歓迎です。

答えて

0
re.sub('[abcdefghijklmnopqrstuvwxyz]', 'nopqrstuvwxyzabcdefghijklm', Alpha) 

だけnopqrstuvwxyzabcdefghijklmとアルファベットのすべての文字を置き換えます。

str.translateをご覧ください。

0

あなたはこれを試すことができます。

import string 

l = list(string.ascii_lowercase) 

new_letters = {a:l[(i+13)%26] for i, a in enumerate(l)} 

Alpha = input("Input the word you would like translated") 

print(''.join(new_letters[i] for i in Alpha)) 
0

を私はあなたがこの

import string 

inputchar = input('Enter input: ') 
printables = [x for x in string.ascii_lowercase] 
index = (printables.index(inputchar) + 13)%26 
print(printables[index]) 
をしたいと思います
関連する問題