python - 范妮的遭遇
问题描述
Fanny 得到一个字符串以及包含单个字符 x 的字符串。她必须从给定的字符串中删除字符 x。帮助她编写一个函数,从给定的字符串中删除所有出现的 x 字符。输入规格:
输入1:输入字符串s
输入 2:包含任何字符 x 的字符串
输出规格:
不出现字符 x 的字符串
示例 1:
输入:
欢迎来到梅特尔
l
输出:
欢迎来到美特
解释:由于 I 是需要删除的字符,因此所有出现的 I 都被删除,保留所有其他字符。
示例 2:
输入1:I out of Rings
输入2:o
输出:I ut f Rings
我的解决方案:
def extractSecretMessage(Str, Sub):
Str= Str.replace(Sub, " ")
return Str.strip()
Str = input("")
Sub = input("")
print(extractSecretMessage(Str, Sub))
错误:输入(标准输入)
Tamilarasan guna 你的输出(标准输出)
T mil rsn gun 预期输出
Tmilrsn gun 编译器消息
不错的尝试,但是您没有通过测试用例!
解决方案
问题是当你应该删除一个字符时,你用空格替换它,而你应该用空字符串替换它。
strip()
另一个潜在的问题(尽管在这些示例中没有公开)是当规范没有说明您打算这样做时,您正在调用(这将删除前导和尾随空格)。(在某些情况下,如果您错误添加的空格位于字符串的开头或结尾,它可能会掩盖之前的错误。)
你在哪里:
Str= Str.replace(Sub, " ")
return Str.strip()
你应该使用:
Str= Str.replace(Sub, "")
return Str
或者简单地说:
return Str.replace(Sub, "")
推荐阅读
- java - 无法在我的存储库中创建 findOneByName 方法
- html - 引导网格修复
- elasticsearch - 将 fielddata 设置为 true 后的 Elasticsearch Distinct 查询
- r - 总结一个逻辑矩阵
- pyspark - pypsark:跨行取最小值或最大值?
- ios - 从 JSON 填充表
- bash - bash中的awk命令使用变量
- javascript - Angular 如何绑定服务实例并将其保存在不同的类中
- python - 在不丢失原始样式的情况下更新样式表
- amazon-web-services - 如何使用 Amazon Cognito 身份池提供 Spring 安全性