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 Falseif len(substr) > len(source):return Falsefor index, item in enumerate(substr):if item != source[index]:breakelse: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 Falseif len(substr) > len(source):return Falsestart_index = len(source) - len(substr)for index in range(start_index, len(source)):if source[index] != substr[index-start_index]:breakelse:return Truereturn False
思路:
这个练习题的解法其实和is startswith函数相差无几,所不同的是,在is startswith函数中要从索引0开始进行相同位置字符的比较,而现在,是要判断是否以substr结尾,所以我们从索引len(source) - len(substr)开始逐一进行比较