• Python 字符串详解


    一、字符串概念

          用于保存字符信息的数据模型(容器)。

          1、只能存放一个值

          2、不可变类型

          3、有序,索引从0开始顺序访问

    字符串语法格式:

    str1 = “字符串信息”

    str2 =  '字符串信息'

    str3 = '' '' ''字符串信息'' '' ''

    str4 =  ''' 字符串信息 '''

    二、字符串常用操作 

     1、字符串判定

     2、字符串查找和替换

    3、字符串拆分与连接 

    4、 字符串数据转换

     5、字符串格式转换

    6、字符串切片

    三、字符串应用 

    1、  输入字符串"https://blog.51cto.com/u_12139097/2573782",输出以下结果:
        1) 字符串中字母t出现的次数。
        2) 字符中"com"子串出现的位置。
        3) 将字符串中所有的"."替换为"-"。
        4) 提取"log"使用正向和"to"反向取两个子串。
        5) 将字符串中的字母全变为大写。
        6) 输出字符串的总字符个数。
        7) 在字符串后拼接子串"/yes"

    1. '''
    2. 1. 输入字符串"https://blog.51cto.com/u_12139097/2573782",输出以下结果:
    3. 1) 字符串中字母t出现的次数。
    4. 2) 字符中"com"子串出现的位置。
    5. 3) 将字符串中所有的"."替换为"-"。
    6. 4) 提取"log"使用正向和"to"反向取两个子串。
    7. 5) 将字符串中的字母全变为大写。
    8. 6) 输出字符串的总字符个数。
    9. 7) 在字符串后拼接子串"/yes"
    10. :return:
    11. '''
    12. ss='https://blog.51cto.com/u_12139097/2573782'
    13. # 1) 字符串中字母t出现的次数。
    14. print(ss.count('t'))
    15. # 2) 字符中"com"子串出现的位置。
    16. print(ss.find('com'))
    17. # 3) 将字符串中所有的"."替换为"-"。
    18. print(ss.replace('.','-'))
    19. # 4) 提取"log"使用正向和"to"反向取两个子串。
    20. print(ss[9:12],ss[-26:-23])
    21. # 5) 将字符串中的字母全变为大写。
    22. print(ss.upper())
    23. # 6) 输出字符串的总字符个数。
    24. print(len(ss))
    25. # 7) 在字符串后拼接子串"/yes"
    26. print(ss+'/yes')

      

     2、学号#姓名#分数,如字符串: "1001#张帆#75-1002#羽田#90-1003#李鑫#85",
         提取学生信息存放于列表中,并按照成绩对学生降序排序。

    1. '''
    2. 学号#姓名#分数,如字符串: "1001#张帆#75-1002#羽田#90-1003#李鑫#85",
    3. 提取学生信息存放于列表中,并按照成绩对学生降序排序。
    4. :return:
    5. '''
    6. data = "1001#张帆#75-1002#羽田#90-1003#李鑫#85"
    7. stu_list = []
    8. for info in data.split('-'):
    9. stu = info.split("#")
    10. print(stu)
    11. #添加到列表中
    12. stu_list.append(dict(zip(["学号", "姓名", "分数"], stu)))
    13. #降序排序
    14. stu_list.sort(reverse=True, key=lambda x: x["分数"])
    15. print(stu_list)

     

     3、 随机产生验证码 (数字+字母组合 6个)
           如:A8VPai

    1. '''
    2. # 随机产生验证码 (数字+字母组合 6个)
    3. # 如:A8VPai
    4. :return:
    5. '''
    6. #大小字母组合
    7. s=string.ascii_letters
    8. # 保存产生的随机数
    9. save_code =''
    10. #循环6
    11. for i in range(6):
    12. # 随机产生(0-5)6个数
    13. num=random.randint(0,5)
    14. #判断不等,就随机产生字母
    15. if i!=num:
    16. tmp=random.choice(s) #产生字母
    17. else:
    18. tmp=random.randint(0,9) #产生数字
    19. #保存生成数据
    20. save_code += str(tmp)
    21. else:
    22. print(save_code)

     

     4、输入用户名是否合法,用户名必须有数字和字母组成,并且第一个字符是大写字母

           例如,输入:boy80youare52right,输出 不合法! 输入:Boy80youare, 输出 合法!

    1. '''
    2. 输入用户名是否合法,用户名必须有数字和字母组成,并且第一个字符是大写字母
    3. 例如,输入:boy80youare52right,输出 不合法! 输入:Boy80youare, 输出 合法!
    4. :return:
    5. '''
    6. s = input('输入用户名字符串:')
    7. #统计个数
    8. s_letter=0
    9. s_number=0
    10. #判断第一个字符是大写字母
    11. if s[0].isupper():
    12. # 循环
    13. for i in s:
    14. # 判断
    15. if i in string.ascii_letters:
    16. s_letter += 1
    17. elif i in string.digits:
    18. s_number += 1
    19. #判断是否是数子和字母组合
    20. if s_number==0 or s_letter+s_number!=len(s):
    21. print('用户名不合法!')
    22. else:
    23. print('合法!')
    24. else:
    25. print('用户名不合法!')

    5、输入字符串,并获取字符串中汉字的个数。

          例如:输入:hello展示有几个few汉字 输出:hello展示有几个few汉字的汉字个数:7

           提示:汉字在这个范围内(大于等于\u4e00,小于等于\u9fa5)

    1. '''
    2. 输入字符串,获取字符串中汉字的个数;
    3. 例如:输入:hello展示有几个few汉字 输出:hello展示有几个few汉字的汉字个数:7
    4. 提示:汉字在这个范围内(大于等于\u4e00,小于等于\u9fa5)
    5. :return:
    6. '''
    7. info=input('输入字符串:')
    8. c=0 #统计个数
    9. #循环
    10. for i in info:
    11. #判断
    12. if i >='\u4e00'and i<='\u9fa5':
    13. c+=1 #累计次数
    14. print(f'{info}的汉字个数:{c}')

     

     

     6、 输入一句英文字符串,单词之间以空格为分隔符, 并且不包含,和.>;统计每个单词重复的单词出现的次数

          输入: “hello java hello python”

          输出:

           hello 2

           java 1

           python 1

    1. '''
    2. 输入一句英文字符串,单词之间以空格为分隔符, 并且不包含,和.>;统计每个单词重复的单词出现的次数
    3.       输入: “hello java hello python”
    4.       输出:
    5.         hello 2
    6.         java 1
    7.         python 1
    8. '''
    9. strs=input('输入一句英文句子:')
    10. #字符串空格分割
    11. ll=strs.split(" ")
    12. #空字典
    13. word={}
    14. #循环
    15. for i in ll:
    16. # print(i)
    17. #判断不在字典中
    18. if i not in word:
    19. word[i]=1
    20. else: #存入加1
    21. word[i]+=1
    22. # print(word)
    23. for k,v in word.items():
    24. print(k,v)

     

     

  • 相关阅读:
    满满干货!手把手教你实现基于eTS的分布式计算器
    C语言是否快被时代所淘汰?
    springboot+jsp学生成绩查询考务系统
    前端 JavaScript 与 HTML 怎么实现交互?
    UGUI交互组件ScrollView
    python七大爬虫程序
    泛型——常考面试题
    java-php-python-springboot小说网站计算机毕业设计
    MySQL的DDL操作表
    Nacos相关概念小总结
  • 原文地址:https://blog.csdn.net/hlx20080808/article/details/127967668