-6

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

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'

而不是我的解密消息

不知道为什么,希望有一些见解:)

4

1 回答 1

1

你不能从另一个字符串中减去一个字符串——这就是这个错误告诉你的(你可能错过了'unsupported operand type(s) for -'中的'-',因为它看起来像一个-:)。

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

 result = result + chr(x)

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

于 2013-05-01T13:23:53.410 回答