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: *
问题
我希望解密字符串的输出为:
twinkle twinkle little star
而不是 *
解决方案
用这个替换decrypt
函数:
def decrypt(string,key):
return string.split(key)
并且还替换decrypted_str = " ".join(decrypt_str)
为decrypted_str = "".join(decrypt_str)
(区别在于空格)。
推荐阅读
- php - PHP函数重命名失败“没有这样的文件或目录”......
- swagger - 在 swagger jersey 2 jaxrs 中自我引用模型时生成的不正确的 swagger 文档
- vue.js - 如何在 Vue3 中检查一个对象是否是一个 Vue 组件?
- java - 无法为 ws-outbound-gateway 注册 MBean
- sql - SQL 或操作符如何与 have 一起使用
- wordpress - Woocommerce - 从 woocommerce_form_field 中删除字段,包括验证
- php - php定义的json结构类型提示
- pyspark - wrker.py 的 Pyspark(Jupyter)中没有模块错误
- android - 系统从 Google Play 下载更新或应用程序更新时是否可以获取事件?
- java - Switch 表达式:为什么 Java 认为我的 break - String 行不是语句?