zoukankan      html  css  js  c++  java
  • 《python核心编程第二版》课后习题6-12答案

      下午脑子瓦特,想了半天也没有想出算法,刚刚抽风终于实现了,特此记录。 ̄□ ̄||

     

    题目

    (a)创建一个名字为 findchr()的函数,findchr()要在字符串 string 中查找字符 char,找到就返回该值的索引,否则返回-1.

    (b)创建另一个叫 rfindchr()的函数,查找字符 char 最后一次出现的位置.它跟 findchr()工作类似,不过它是从字符串的最后开始向前查找的.

    (c)创建第三个函数,名字叫 subchr(),subchr()跟 findchr()类似,不同的是,如果找到匹配的字符就用新的字符替换原先字符.返回修改后的字符串.

    注意:以上均不能使用string.*find()或者 string.*index()函数和方法 

    def findchr(string, char):
        if char in string:
            i=0
            while string[i:i+len(char)]!=char:
                i+=1
            else:
                return i
        else:
            return -1
            
    
    def rfindchr(string, char):
        if char in string:
            i=0
            while i<(len(string)-len(char)+1):
                if string[i:i+len(char)]!=char:
                    i+=1
                else:
                    s=i
                    i+=1
            else:
                return s
        else:
            return -1
    
    
    def subchr(string, origchar, newchar):
        if origchar in string:
            i=0
            while string[i:i+len(origchar)]!=origchar:
                i+=1
            else:
                new_string=string[:i]+newchar+string[(i+len(origchar)):]
                return new_string
        else:
            return -1
    

      

    #运行结果
    print(findchr('xabcxxxx', 'abc'))
    print(rfindchr('abcxxxxabc', 'abc'))
    print(subchr('abcxxxx', 'abc','lilip'))
    
    1
    7
    lilipxxxx
    

      

  • 相关阅读:
    [CLYZ2017]day8
    [CLYZ2017]day12
    [bzoj1503][NOI2004]郁闷的出纳员
    [CLYZ2017]day18
    [CLYZ2017]day11
    [CLYZ2017]day17
    在DLL中获取服务器路径
    SPSecurity.RunWithElevatedPrivileges 拒绝访问
    prototype1.4.0(转载)
    删除多表数据
  • 原文地址:https://www.cnblogs.com/lilip/p/9325141.html
Copyright © 2011-2022 走看看