您能告诉我为什么我只接收*作为输出,而不是最初输入的字符串作为解密字符串吗?

2024-04-20 13:43:47 发布

您现在位置:Python中文网/ 问答频道 /正文

问题
编写一个程序,输入一个主字符串,然后创建一个 通过在每个字符后嵌入基于符号的短字符串来加密字符串。 程序还应该能够从中生成解密的字符串 加密字符串。

代码

def encrypt(string,key):
    return key.join(string)
def decrypt(string,key):
    return key.split(string)
#main
original_str=input("Enter a string:")
encrypt_key=input("Enter encryption key:")

encrypt_str=encrypt(original_str,encrypt_key)
print("The encrypted string:",encrypt_str)

decrypt_str=decrypt(encrypt_str,encrypt_key)
decrypted_str=" ".join(decrypt_str)
print("The decrypted string:",decrypted_str)

输出

Enter a string:twinkle twinkle little star
Enter encryption key:*
The encrypted string: t*w*i*n*k*l*e* *t*w*i*n*k*l*e* *l*i*t*t*l*e* *s*t*a*r
The decrypted string: *

问题
我希望解密字符串的输出为:
闪闪发光的小星星
而不是*

Tags: thekey字符串程序inputstringreturndef
1条回答
网友
1楼 · 发布于 2024-04-20 13:43:47

decrypt函数替换为以下内容:

def decrypt(string,key):
   return string.split(key)

并将decrypted_str = " ".join(decrypt_str)替换为decrypted_str = "".join(decrypt_str)(区别在于空格)

相关问题 更多 >