我正在编写一个接受两个参数的函数:asearch string和target string。函数将在目标字符串中查找搜索字符串,并应返回一个字符串,该字符串表示在目标字符串中找到搜索字符串的位置。在
例如,如果目标字符串是target_string = "Georgia Tech"和search_string = "Georgia",它应该返回字符串"Beginning"。如果搜索字符串是"gia",它应该返回"Middle",如果搜索字符串是"Tech",它应该返回“End”
代码:def string_finder(target_string, search_string):
len_search = int(len(search_string))
len_target = int(len(target_string))
if search_string in target_string:
if target_string.find(search_string)<=len_search:
return "Beginning"
elif #***missing statement:***
return "Middle"
elif target_string.find(search_string, -len_search):
return "End"
else:
return "Not found"
代码看起来像现在一样工作,但是我很难确定应该满足什么条件才能确定搜索字符串在目标字符串的中间。在
我想声明应该是这样的:
^{pr2}$
其中len_dif是搜索字符串和目标字符串长度之间的差异。通过这样做,它会打印出正确的答案,但会弄乱最终的elif。如果我运行下面的代码print(string_finder("Georgia Tech", "Georgia"))
print(string_finder("Georgia Tech", "gia"))
print(string_finder("Georgia Tech", "Tech"))
print(string_finder("Georgia Tech", "Nothing"))
它不打印“开始”、“中间”、“结束”和“未找到”,而是打印“开始”、“中间”、“中间”和“未找到”