我正在为ROT13编写一个小python程序。
如果您不知道它的含义,则意味着它会将字母表中的字母替换为前面的第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 :(得分:0)
答案 1 :(得分: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))
答案 2 :(得分:0)
我想你想要这个
import string
inputchar = input('Enter input: ')
printables = [x for x in string.ascii_lowercase]
index = (printables.index(inputchar) + 13)%26
print(printables[index])