首页 > 解决方案 > 范妮的遭遇

问题描述

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 编译器消息

不错的尝试,但是您没有通过测试用例!

标签: python

解决方案


问题是当你应该删除一个字符时,你用空格替换它,而你应该用空字符串替换它。

strip()另一个潜在的问题(尽管在这些示例中没有公开)是当规范没有说明您打算这样做时,您正在调用(这将删除前导和尾随空格)。(在某些情况下,如果您错误添加的空格位于字符串的开头或结尾,它可能会掩盖之前的错误。)

你在哪里:

    Str= Str.replace(Sub, " ")     
    return Str.strip() 

你应该使用:

    Str= Str.replace(Sub, "")     
    return Str

或者简单地说:

    return Str.replace(Sub, "")     

推荐阅读