是否需要一个函数,该函数需要一个字符串和一个字符,并切分至(包括)该字符的首次出现?

时间:2019-05-16 10:39:12

标签: python

抱歉,对于新手问题,stackoverflow是不得已的方法,但我真的不知道这一点。

我正在做作业问题,它询问以下问题: 1.编写一个函数,该函数采用字符串s和单个字符ch,并返回s的切片,直到ch的第一次出现。如果不存在该字符,则应返回一个空字符串。该函数应通过以下doctests:

我要尝试在定义中创建一个变量,并使其包含参数ch的任何内容,然后尝试对其进行切片,但无法弄清楚如何或是否存在更可行的选择。

    """
    >>> find_slice("abcdefghijk", "f")
    'abcdef'
    >>> find_slice("aaabbbccc", "b")
    'aaab'
    >>> find_slice("aaabbbccc", "d")
    ''
    """
    for letters in s:
        if ch in s:

    return emptystring

if __name__ == "__main__":
    import doctest
    doctest.testmod(verbose=True)```

2 个答案:

答案 0 :(得分:4)

使用.find的@Austin答案的更好版本也可以使用,即使该字符串不包含该字符也是如此:

def find_slice(s, chr):
    return s[:s.find(chr)+1]

答案 1 :(得分:3)

使用字符串index(),该字符串可保证返回字符串中字符的第一个索引并在切片中使用它:

def find_slice(s, c):
    return s[:s.index(c)+1]

可选的try-except处理ValueError

def find_slice(s, c):
    try:
        return s[:s.index(c)+1]
    except ValueError:
        return ''