首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python,Affine密码

Python,Affine密码
EN

Stack Overflow用户
提问于 2020-10-09 19:46:02
回答 1查看 469关注 0票数 0

下午好,

(我是初学者程序员)

我在Python中遇到了一个小问题。我正在尝试写一个程序与图形用户界面,有4个用户输入。第一个输入是key a,第二个是key b,第三个是text to encrypt,for是text to decrypt。用于加密程序的是使用Affine Cipher

我将在示例中向您展示我的问题:用户输入key a作为1,key b作为3text for encrypt输入字母D。在控制台上的程序输出将是字母G,这很好,但当用户输入更多的字母,如DE或一些单词,将有一个错误,说'DE' is not in list,如果我试图把用户输入到列表,它会说同样的事情,但这次,错误将是说'D' 'E' is not in list,甚至不能加密只有一个字母。

所以问题是,程序可以将用户输入的一个字母与字母表进行比较,并获得这个字母的索引并对其进行加密,但当有更多的字母时,它就不能。谢谢你的帮助!

代码语言:javascript
复制
def Encrypt_Input (input,key_a,key_b):
            input = self.User_Input.upper()
            No_Diacritic = unidecode.unidecode(input)
            alphabet = list(string.ascii_uppercase)
            input_index = alphabet.index(No_Diacritic)
            Encryption = ((int(self.key_a)*input_index)+int(self.key_b))%26
            Encrypted = alphabet[Encyption]
            print(Encrypted)
            return Encrypted
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-09 19:54:13

您可以使用一个包装器函数逐个字母地迭代文本(通过使用for循环),对于每个字母,它将使用您的函数并连接输出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64279433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档