首页 文章

错误TypeError:不支持的操作数类型 - :'str'和'str'

提问于
浏览
0

我的编码中有一些错误

ki = raw_input("Enter Initial Key in HEX 20 bit :") 
IV = raw_input("Enter Initial vector in HEX 16 bit :")

for i in xrange(0,20,2):
if(ki[i]>='0' and ki[i]<='9'):
    ie=ki[i]-'0'
elif (ki[i]>='a' and ki[i]<='f'):
    ie=ki[i]-'a'+10
elif (ki[i]>='A' and ki[i]<='F'):
    ie=ki[i]-'A'+10

这个错误

Traceback(最近一次调用最后一次):文件“C:/Users/MrX/PycharmProjects/grain/grain.py”,第16行,ie = ki [i] - '0'; TypeError:不支持的操作数类型 - :'str'和'str'

我希望你能帮助我解决它 . 谢谢

1 回答

  • 0

    你在字符串上调用 - 操作数:

    ie = ki[i] - 'a' + 10
    

    我认为你认为Python中的简单引号引用了字符的ASCII值 . 但是,在Python中,简单的引号和双引号是完全等价的,它们都代表字符串 .

    你想要的是 ord 功能:

    >>> ord('a')
    97
    

相关问题