• 0503---练习题 punctuation isdigit() strip() upper()


    #习题1:一个句子中的所有数字和标点符号删除

    def delete_num_punctuation(s):
        import string
        for i in s:
            if i in string.punctuation:#判断是否有标点,是的话替换掉
                s=s.replace(i," ")
        s=s.split()
        result =[]
        for i in s:
            if not i.isdigit():#用isdigit函数判断是否数字
                result.append(i)
        return " ".join(result)

    s
    ="I am 15 years old!" print(delete_num_punctuation(s))

     C:Usersdell>py -3 C:UsersdellDesktop练习5503.py
    I am years old

    代码优化:

    #上述代码两次遍历字符串,可以优化写在一起,最后直接拼接

    s="I am 15 years old!"
    def delete_num_punctuation(s):
        import string
        str =""
        for i in s:
            if not i.isdigit() and i not in string.punctuation:
                str +=i
        return str
    
    print(delete_num_punctuation(s))

    #习题2:自定义实现strip()
    Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
    注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
    strip()方法语法:
    str.strip([chars])

    s=" abc  d 
    "
    result =""
    for i in s:
        if i not in ["
    ","
    ","	"," "]:
            result +=i
    
    print(result)

    #习题3:自定义实现str.upper()

    Python upper() 方法将字符串中的小写字母转为大写字母。

    upper()方法语法:

    str.upper()
    s="hdka"
    str_result =""
    for i in s:
            if i>=chr(ord('a')) and i<=chr(ord('z')):
                str_result +=chr(ord(i)-32)
            else:
                str_result +=i
    print(str_result)
    #习题4:自定义实现str.lower()
    s="FHSJKakaae"
    str_result =""
    for i in s:
            if i>=chr(ord('A')) and i<=chr(ord('Z')):
                str_result +=chr(ord(i)+32)
            else:
                str_result +=i
    print(str_result)
  • 相关阅读:
    Cookie中的HttpOnly详解
    垃圾收集器Serial 、Parallel、CMS、G1
    Spring中ApplicationContextAware的用法
    Java IO包装流如何关闭
    Oracle数据库只读事务和无事务的区别
    protobuf和thrift对比
    Google的SPDY协议成为HTTP 2.0的基础
    在tomcat7中启用HTTPS的详细配置
    实现Spring RESTful服务的SSL
    大型网站的 HTTPS 实践(一)—— HTTPS 协议和原理
  • 原文地址:https://www.cnblogs.com/wenm1128/p/10805378.html
Copyright © 2020-2023  润新知