我试图创建一个程序,根据用户提供的密钥或数字对消息进行加密。例如,字母C和键2会变成字母E。我想用一个保存的字典或序数值来表示这个,但我不确定如何将其限制为26个字母。例如,我现在的代码如下所示:
word = input("Please enter a word")
numkey = input("Please enter a key")
for ind in word:
encrypt = ord(ind) + int(numkey)
actual_encrypt = chr(encrypt)
这段代码的问题是,我想将加密值限制为26,并在到达那里后重新开始。例如,它不是27,而是1。我只是有点搞不清楚怎么设置。非常感谢。你知道吗
如果我没听错的话,你的词只包含以下字符:a-z 如果是这样,您可以替换该行:
使用:
如果我正确理解你的问题,解决这个问题的常用方法是使用模运算符“%”。此运算符返回操作数之间整数除法的余数。你知道吗
可能是这样的:
如果
ord(ind) + int(numkey)
的结果是27,% 27
结果是0(因此额外的偏移量是1)。你知道吗你需要模运算,
%
。例如,27 % 26
给出1
。你知道吗相关问题 更多 >
编程相关推荐