• 0504---习题str.swapcase() str. capitalize() str.title()


    #习题5:自定义实现str.swapcase()

    Python swapcase() 方法用于对字符串的大小写字母进行转换。

    swapcase()方法语法:

    str.swapcase();
    #大写转换成小写,小写转换成大写
    def change_swapcase(string):
        result =""
        for i in string:
            if i>=chr(ord('a')) and i<=chr(ord('z')):
                result +=chr(ord(i)-32)
            else:
                result +=chr(ord(i)+32)
        return result
    
    print(change_swapcase("hdjDWhdkWO"))

    C:Usersdell>py -3 C:UsersdellDesktop练习5504.py
    HDJdwHDKwo

    #习题6:自定义实现str. capitalize()

    Python capitalize()将字符串的第一个字母变成大写,其他字母变小写。

    capitalize()方法语法:

    str.capitalize()
    def get_capitalize(s):
        result =""
        for i in range(len(s)):
    
            if i==0 and s[i]>=chr(ord('a')) and s[i]<=chr(ord('z')):
                result +=chr(ord(s[i])-32)
            elif s[i]>=chr(ord('A')) and s[i]<=chr(ord('Z')):
                result +=chr(ord(s[i])+32)
            else:
                result +=s[i]
        return result
    
    print(get_capitalize("sdsjkeKLJ"))

     #习题7:自定义实现str.title()

    Python title() 方法返回"标题化"的字符串,就是说所有单词的首个字母转化为大写,其余字母均为小写(见 istitle())

    title()方法语法:

    str.title();
    s="i am a good boy"
    def string_title(s):
        result =""
        temp_result =""
        for i in s.split():
            if i[0]>=chr(ord('a')) and i[0]<=chr(ord('z')):
                temp_result =chr(ord(i[0])-32)+i[1:]
                result +=temp_result
        return result
    
    print(string_title(s))
     

    #习题8:自定义实现str.ljust(number)

    ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。

    ljust()方法语法:

    str.ljust(width[, fillchar])

    参数

    • width -- 指定字符串长度。
    • fillchar -- 填充字符,默认为空格
    • #算法:比较指定的长度与原字符串的长度大小,小的话直接返回原字符串,否则使用空格填充至指定长度然后返回新字符串
    def str_ljust(s,width,fillchar=" "):
        if (not isinstance(width,int)) or width <=len(s):
            return s
        string_length=width-len(s)
        if string_length<=0:
            return s
        else:
            return s+fillchar*string_length
    
    print(str_ljust("abc",'2',"*"))
    print(str_ljust("abc",8,"*"))


    #习题9:自定义实现str.center(number)

    center() 方法返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。

    center()方法语法:

    str.center(width[, fillchar])

    参数

    • width -- 字符串的总宽度。
    • fillchar -- 填充字符。
    def str_center(s,width,fillchar=" "):
        if (not isinstance(width,int)) or width <=len(s):
            return s
        string_length=width-len(s)
        if string_length%2==0:
            return fillchar*(string_length//2)+s+fillchar*(string_length//2)
        else:
            return fillchar*(string_length//2)+s+fillchar*(string_length//2+1)
    
    print(str_center("ab",6,"*"))
    print(str_center("abc",6,"*"))

    C:Usersdell>py -3 C:UsersdellDesktop练习5504.py
    **ab**
    *abc**

     
    #习题10:自定义实现zfill

    Python zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0。

    zfill()方法语法:

    str.zfill(width)
    width -- 指定字符串的长度。原字符串右对齐,前面填充0。
    def str_zfill(s,width,fillchar="0"):
        if (not isinstance(width,int)) or width <=len(s):
            return s
        string_length=width-len(s)
        if string_length<=0:
            return s
        else:
            return fillchar*string_length+s
    
    print(str_zfill("abc",'2'))
    print(str_zfill("abc",8))

    C:Usersdell>py -3 C:UsersdellDesktop练习5504.py
    abc
    00000abc

     #习题11:自定义find函数

    find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。

    find()方法语法:

    str.find(str, beg=0, end=len(string))
    • str -- 指定检索的字符串
    • beg -- 开始索引,默认为0。
    • end -- 结束索引,默认为字符串的长度。

    返回值

    如果包含子字符串返回开始的索引值,否则返回-1。

    def str_find(s,str_searched):
        if (not isinstance(s,str)) or (not isinstance(str_searched,str)):
            return "type error"
        elif len(str_searched) >len(s):
            return -1
        elif len(str_searched)==len(s):
            return 0
        else:
            for i in range(len(s)-len(str_searched)+1):
                if s[i:i+len(str_searched)]==str_searched:
                    return i#返回索引位置
            else:
                return -1
    
    print(str_find('abc','c'))
    print(str_find("abc",'abc'))    

    C:Usersdell>py -3 C:UsersdellDesktop练习5504.py
    2
    0










  • 相关阅读:
    rac node1节点侦听地址为127.0.0.1问题
    rac crs节点故障(未解决)
    杂牌设备网络接入引起交换机引起端口翻转的故障
    Impdp导出前准备工作以及主要命令
    查询dba_tables视图tablespaces_name为空的问题
    Expdp导出前准备工作以及主要命令
    带参数的方法解析
    类的无参方法,注释
    类和对象的解析
    二重循环的解析
  • 原文地址:https://www.cnblogs.com/wenm1128/p/10809072.html
Copyright © 2020-2023  润新知