4.7 startswith

“startswith”是Python字符串方法之一,用于检查字符串是否以特定的前缀开始。这个方法通常用于条件检查,以确定一个字符串是否以另一个字符串作为前缀。

这是startswith方法的语法:

str.startswith(prefix[, start[, end]]) 
  • str 是要检查的字符串。
  • prefix 是要检查的前缀字符串。
  • start (可选)是可选的开始搜索的起始位置。
  • end (可选)是可选的结束搜索的结束位置。

startswith方法返回一个布尔值,如果字符串以指定的前缀开始,则返回True,否则返回False。

要求:

实现函数is startswith,如果字符串source是以substr开头的,则函数返回True,反之返回
False

代码:

def is_startswith(source,	substr):
"""
判断字符串source是否以substr开头
:param source:
:param substr:
:return:
"""
if not source or not substr:
return False
if len(substr) > len(source):
return False
for index, item in enumerate(substr):
if item != source[index]:
break
else:
return True # 如果for循环不是因为break结束的,就会进⼊到else语句块
return False

点击并拖拽以移动

思路:

函数首先要判断传入的参数是否合法,这里默认传入的都是字符串,那么我们要需要判断字符串是否有空串的情况
如果substr的长度大于source的长度,直接返回False
从索引0开始,遍历substr,从source上获得相同索引的字符,两者进行比较,只要有一个字符不相同,则可以立即返回False

4.8 endswith

"endswith"是Python字符串方法之一,用于检查字符串是否以特定的后缀结尾。这个方法通常用于条件检查,以确定一个字符串是否以另一个字符串作为后缀。

这是endswith方法的语法:

str.endswith(suffix[, start[, end]]) 
  • str 是要检查的字符串。
  • suffix 是要检查的后缀字符串。
  • start (可选)是可选的开始搜索的起始位置。
  • end (可选)是可选的结束搜索的结束位置。

endswith方法返回一个布尔值,如果字符串以指定的后缀结尾,则返回True,否则返回False。

要求:

实现函数is endswith,判断字符串source是否以substr结尾

代码:

def is_endswith(source,	substr):
"""
判断字符串source 是否以substr结尾
:param source:
:param substr:
:return:
"""
if not source or not substr:
return False
if len(substr) > len(source):
return False
start_index = len(source) - len(substr)
for index in range(start_index, len(source)):
if source[index] != substr[index-start_index]:
break
else:
return True
return False

点击并拖拽以移动

思路:

这个练习题的解法其实和is startswith函数相差无几,所不同的是,在is startswith函数中要从索引0开始进行相同位置字符的比较,而现在,是要判断是否以substr结尾,所以我们从索引len(source) - len(substr)开始逐一进行比较