python实例化类相同python实例化类一直在运行python实例化类
下载地址 https://share.weiyun.com/OvviwGnZ
资料目录 Python练习集100题 100道Python面试题 Python100经典练习题 Python经典题目100道题 Python题库(已收录100道真题) Python100例视频讲解课程 菜鸟教程Python教程100例 130道python练习题,涵盖基础内容的方方面面 Python考试题复习知识点试卷试题 PYTHON测试题和答案 python第一阶段考试题 Python经典面试题和答案解析 python期末考试复习试卷 python习题集大全(附答案解析) 老男孩Python全栈7期练习题(面试真题模拟) 尚观python第一阶段考试(面试真题模拟) 《Python程序设计基础与应用》习题答案 《Python快速编程入门》——课后题答案 Python编程基础张健 , 张良均课后习题及答案 Python程序设计基础及实践(慕课版)郭炜习题答案 Python程序设计基础习题答案与分析 python基础试题(含答案)
举例 实现字符串count方法 题目要求 字符串count方法,可以返回指定范围内的子串的数量,下面是用法示例 source = "this is a book" target = 'is'
print(source.count(target)) 程序输出2 请仿照字符串的count方法,实现下面的函数 def my_count(source, target, start, end): """ 函数返回字符串source在start 和 end之前,子串target 的数量, 索引范围左闭右开 :param source: :param target: :param start: :param end: :return: """ pass 思路分析 对于传入的参数进行合法性判断,是编写函数时必须要考虑的事情 • 字符串source,target为空判断 • start >= end判断 • start范围判断,不能小于0,也不能大于等于len(source) • 如果end大于len(source),则重新对end赋值,让其等于len(source),算是一种合理的补救 经过前面的4个判断后,基本上可以保证传入的参数是合法的,不至于因为参数不合法导致程序出错 具体实现思路,将字符串target索引0与字符串source索引start进行对齐,然后逐个字符比较,只要有一个不相同,就说明,source[start: len(target)] != target,那么就需要向右移动一位,比较source[start+1: len(target)]是否与target相等。 代码里最精髓的是if t_index == len(target)这行,如果对比过程中,触发了break,那么t_index一定不会与len(target)相等,就依靠这个条件判断,就可以知道是不是找到了子串。 示例代码 def my_count(source, target, start, end): """ 函数返回字符串source在start 和 end之前,子串target 的数量, 索引范围左闭右开 :param source: :param target: :param start: :param end: :return: """ if not source or not target: return 0
if start >= end: return 0
if start >= len(source) or start < 0: return 0
count = 0 if end > len(source): end = len(source)
index = start
while index < end: t_index = 0 while t_index < len(target) and index+len(target) <= end: if target[t_index] != source[index+t_index]: break t_index += 1
if t_index == len(target): index += len(target) count += 1 else: index += 1
return count
source = "this is a book" target = 'is'
print(my_count(source, target, 0, len(source)))
|