我正在开发一个公平的密码程序,我有两个函数,分别是sameCol和sameRow,他们要做的是看看两个字母是否在同一行或同一列,我写的代码工作了一段时间,但后来坏了,我不知道我做了什么,使它停止正常工作,因为程序将获取需要加密的密钥和消息,并返回加密的消息,但由于某种原因它没有返回返回加密的消息
更新:我尝试了对密钥和消息进行更多的输入(加密),显然有些输入有效,但有些无效
以下是我所做的输入:
输入键:lkj
输入信息至代码:图
结果=ezez
但是如果我像下面这样输入home,那么它会再次显示错误:
回车键:运行
输入要编码的消息:dik
结果:
Traceback (most recent call last):
File "/../playfair.py", line 334, in <module>
encoded = cipher.encode()
File "/../playfair.py", line 257, in encode
codeString = self.sameRow(row1, row2, decode = False)
File "/../playfair.py", line 52, in sameRow
ltr1Row = index1[0]
TypeError: 'int' object is not subscriptable
类型错误显示了以下内容:
ltr1Row = index1[0]
除了类型错误消息之外,我无法理解这有什么问题,因为它工作正常,不,我甚至没有创建这个变量,而是我的prof创建的
下面是ltr1Row = index1[0]
部分的更多代码:
def sameCol(self, index1, index2, decode):
ltr1Row = index1[0]
ltr1Col = index1[1]
ltr2Row = index2[0]
ltr2Col = index2[1]
这也是sameRow的相同代码,我稍后在我的程序中也调用了这两个代码,下面是其中一个的代码:
codeString = self.sameCol(col1, col2, decode = False)
如果需要,这里有一个指向整个源代码的链接: https://gist.github.com/roshanlam/e0b9966af1325d5c9469f8cd3a14e402
目前没有回答
相关问题 更多 >
编程相关推荐