CodeHS Python,从字符串中删除所有内容

时间:2017-02-06 23:59:33

标签: python

我正在将CodeHS用于我的计算机科学原理课程,而字符串部分中的一个问题让我很困惑。我们必须从另一个字符串中删除所有一个字符串。

以下是官方指示:

  

编写一个名为remove_all_from_string的函数,它接受两个字符串,并返回第一个字符串的副本,并删除第二个字符串的所有实例。您可以假设第二个字符串只有一个字母,例如“a”。

我们是必需的使用:

  1. 带参数的函数定义
  2. A while循环
  3. 查找方法
  4. 切片和+运算符
  5. 退货声明
  6. 我们只需要使用这5件事来使其发挥作用。 我试图写这个程序,但我的功能没有做任何事情,我真的很难过。

    def remove_all_from_string(word, letter):
        while letter in word:
            x=word.find(letter)
            if x==-1:
                continue
            else:
                return x
    
        print word[:x] + word[x+1:]
    
    remove_all_from_string("alabama", "a")
    

3 个答案:

答案 0 :(得分:1)

最简单的方法就是

def remove_all_from_string(word, letter):
    return word.replace(letter, "")

然而,考虑到参数,我们可以采用另一种方式:

def remove_all_from_string(word, letter):
    while letter in word:
        x=word.find(letter)
        if x == -1:
            continue
        else:
            word = word[:x] + word[x+1:]
    return word

您可以运行此命令并键入

进行打印
>>> print(remove_all_from_string("Word Here", "e"))
#returns Word hr

答案 1 :(得分:1)

def remove_all_from_string(word, letter):
    while letter in word:
        x=word.find(letter)
        if x == -1:
            continue
        else:
            word = word[:x] + word[x+1:]
    return word

print(remove_all_from_string("hello", "l"))

答案 2 :(得分:0)

def remove_all_from_string(word, letter):
    letters = len(word)
    while letters >= 0:
        x=word.find(letter)
        if x == -1:
            letters = letters - 1
            continue
        else:
            # Found a match
            word = word[:x] + word[x+1:]
            letters = letters - 1

    return word

remove_all_from_string("alabama", "a")