如何解决 TypeError: 'int' object is not subcriptable in Python?

时间:2021-03-08 06:58:41

标签: python

我正在开发一个公平密码程序,其中我有两个函数,名为 sameCol 和 sameRow,它们应该做的是查看两个字母是否在同一行或同一列中,并且我编写的代码工作了一段时间,但是然后坏了,我不知道我做了什么导致它停止正常工作,因为程序将获取需要加密的密钥和消息并返回加密的消息,但由于某种原因它不返回加密的消息。

更新:我尝试了更多的密钥和消息输入(用于加密),显然有些输入有效,但有些无效。

这是我完成的输入:

回车键:lkj

输入消息代码:fig

结果 = ezez

但是如果我像下面这样输入 homelike 然后它又开始显示错误:

回车键:运行

输入要编码的消息: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] 以及类型错误消息,我无法理解这有什么问题,因为它工作正常,而且我什至没有创建这个变量,而是我的教授创建的。

这是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

0 个答案:

没有答案