Python150题day20

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)开始逐一进行比较

你可能感兴趣的:(Python150题,python)