Python 凯撒密码

标签 python dictionary

我正在尝试制作一个可以将凯撒密码应用于信件的字典。 我需要它在一个字典中用于上下,但无法弄清楚如何将两者放入一个字典中。

import string

def Coder(shift):

    alpha = string.ascii_lowercase
    ALPHA = string.ascii_uppercase
    if shift in range(0,26):

        return dict(zip(ALPHA, ALPHA[shift:] + ALPHA[0:shift])), dict(zip(alpha, alpha[shift:] + alpha[0:shift]))

最佳答案

类似这样的事情:

import string

def Coder(shift):
    alpha = string.ascii_lowercase
    ALPHA = string.ascii_uppercase
    if 0 <= shift < 26:
        unshifted_letters = ALPHA + alpha
        shifted_letters = ALPHA[shift:] + ALPHA[:shift] + alpha[shift:] + alpha[:shift]
        return dict(zip(unshifted_letters, shifted_letters))

但正如其他人所说,更好的解决方案是 encode('rot13')string.maketrans 。特别是:“rot_13 rot13 Unicode 字符串返回操作数的凯撒密码加密”。

关于Python 凯撒密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15327423/

相关文章:

python - 如果键相同,则在空字典的列表中添加键值对

c# - 在 Windows Phone 中使用 DataContractJsonSerializer 将 JSON 反序列化为字典

Python如何在其中也包含字符串的列表中获取数字总和

python - 比较具有一个共同键的两个字典,并组合与该共同键关联的其余键形成一个新字典

dictionary - 如何扩充 ResponseWriter 的 Header() 返回的映射

python - aspell dict make on windows : iso-8859-1. cset 无法打开阅读

Python/Pandas 运行总计

python - python中范围和命名空间的区别?

python - XPath Scrapy 结果问题 - OR 语句?

python - Pygame 未检测到碰撞时的所有关键事件