本质上,我需要获取一个输入,将其转换为相应的数字,然后在列表中对“offset”中输入的内容进行计数,并返回新的相应数字。你知道吗
例如,对于“de”,我会把它翻译成“4”,“5”,然后我需要数到“7”,“8”,让程序返回“gh”。你知道吗
努力想弄清楚如何在名单上名列前茅。你知道吗
import string
translate = {
'a': "1", 'b': "2", 'c': "3", 'd': "4", 'e': "5", 'f': "6",
'g': "7", 'h': "8", 'i': "9", 'j': "10", 'k': "11", 'l': "12",
'm': "13", 'n': "14", 'o': "15", 'p': "16", 'q': "17", 'r': "18",
's': "19", 't': "20", 'u': "21", 'v': "22", 'w': "23", 'x': "24",
'y': "25", 'z': "26",
}
msg = input("Enter Message: ")
offset = input("Enter Offset: ")
caesar = [translate[ch.lower()] for ch in msg if ch in string.ascii_letters]
您已经在导入
string
,因此可以索引到string.ascii_letters
,而不是手动定义字典和计算偏移量。别忘了用模从z
到A
进行包装。你知道吗可以将其扩展为可读性稍高一些:
我将把从
z
到a
(而不是A
)的包装作为练习留给读者。你知道吗相关问题 更多 >
编程相关推荐