手机版 | 登陆 | 注册 | 留言 | 设首页 | 加收藏
当前位置: 网站首页 > python教程 > 文章 当前位置: python教程 > 文章

python实例化类相同python实例化类一直在运行python实例化类

时间:2022-07-12    点击: 次    来源:网络    作者:佚名 - 小 + 大

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)))

上一篇:python实例化类执行顺序Python实例化类到redis Python实例化类

下一篇:没有了

推荐阅读
声明 | 联系我们 | 关于我们
备案ICP编号  |   QQ:2151239526  |  地址:北京市东城区  |  电话:16605168200  |