不支持的操作数类型 - :'str'和'str' - 得到此错误,我不知道为什么

时间:2013-05-01 13:05:44

标签: python string types operand

目前正在创建一个Cesears密码,特别是解密。

for char in decryptString:
    x = ord(char)
    x = x - decryptVal #this is my negative shift

    if x < 32:
        x = x + 32

    elif x > 126:
        x = x - 95


    result = result - chr(x)

print('')
print('Decrypted string: ')
print(result)

而且我经常得到:

TypeError: unsupported operand type(s) for -: 'str' and 'str'

而不是我的解密消息

不知道为什么,会欣赏一些见解:)

1 个答案:

答案 0 :(得分:1)

您无法从另一个字符串中删除一个字符串 - 这就是此错误告诉您的内容(您可能错过了&#39; - &#39; in&#39;不支持的操作数类型for - &#39;因为它看起来像 - :)。

如果我正确理解您打算做什么,您希望将转换后的字符添加到输出字符串result中。字符串支持+进行连接,所以:

 result = result + chr(x)

您还需要在循环之前初始化result,即.. result = ''