抱歉,对于新手问题,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)```
答案 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 ''