Python 加密和解密outpus符号

Python 加密和解密outpus符号,python,algorithm,encryption,cryptography,Python,Algorithm,Encryption,Cryptography,我和一位同事正在尝试制作一个程序,允许我们使用两个单词的字母值对文本进行加密和解密: 关键字(由用户选择) 加密/解密的源字(也由用户选择) 但出于某种原因,当我们运行程序时,我们可以输出加密/解密的答案,但答案是文本: Ƥ˧Щ 这是我们的代码: def encryptfunction(): result = "" addedup = 0 for letter in wordtoencrypt: for letter2 in keyword:

我和一位同事正在尝试制作一个程序,允许我们使用两个单词的字母值对文本进行加密和解密:

  • 关键字(由用户选择)
  • 加密/解密的源字(也由用户选择)
  • 但出于某种原因,当我们运行程序时,我们可以输出加密/解密的答案,但答案是文本:

    Ƥ˧Щ
    
    这是我们的代码:

    def encryptfunction():
        result = ""
        addedup = 0
        for letter in wordtoencrypt:
            for letter2 in keyword:
                addedup = addedup + ord(letter2)
            result = result + chr(ord(letter) + addedup)
        return result
    
    def decryptfunction():    
        result = ""
        addedup = 0
        for letter in wordtoencrypt:
            for letter2 in keyword:
                addedup = addedup + ord(letter2)
            result = result + chr(ord(letter) - addedup)
        return result
    
    wordtoencrypt = input("Enter the word to encrypt:")
    keyword = input("Enter the keyword:")
    encrypt = int(input("encrypt(1) or decrypt(0)"))
    
    if encrypt == 1:
        print(encryptfunction())
    else:
        print(decryptfunction())
    

    我们不知道为什么会发生这种情况,如果有人能帮助我们解决这个问题,我们将不胜感激。

    您可以尝试键入addedup和result变量。

    您可以尝试打印中间值,但似乎字符串和数字在加法中混在一起。ASCII字符集有256个字符。有些是字母,有些是符号。如果您添加两个英文字母的字符代码,您将得到的字符将是一个符号。你期望会发生什么?我如何修复ascii?你所说的“修复ascii”是什么意思?ASCII字符集未断开。您希望得到什么结果?
    result=result+chr((ord(字母)+addedup)%256)
    保持在ascii字符范围内