Python 字符串详解

news2024/10/7 1:31:20

一、字符串概念

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

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

  

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

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

 

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

'''
    # 随机产生验证码 (数字+字母组合 6个)
    # 如:A8VPai
    :return:
    '''
    #大小字母组合
    s=string.ascii_letters

    # 保存产生的随机数
    save_code =''
    #循环6个
    for i in range(6):
       # 随机产生(0-5)6个数
       num=random.randint(0,5)
       #判断不等,就随机产生字母
       if i!=num:
           tmp=random.choice(s) #产生字母
       else:
           tmp=random.randint(0,9) #产生数字
       #保存生成数据
       save_code += str(tmp)

    else:
        print(save_code)

 

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

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

 '''
    输入用户名是否合法,用户名必须有数字和字母组成,并且第一个字符是大写字母
    例如,输入:boy80youare52right,输出 不合法! 输入:Boy80youare, 输出 合法!
    :return:
    '''
    s = input('输入用户名字符串:')
    #统计个数
    s_letter=0
    s_number=0
    #判断第一个字符是大写字母
    if s[0].isupper():
        # 循环
        for i in s:
            # 判断
            if i in string.ascii_letters:
                s_letter += 1
            elif i in string.digits:
                s_number += 1
        #判断是否是数子和字母组合
        if s_number==0 or s_letter+s_number!=len(s):
            print('用户名不合法!')
        else:
            print('合法!')
    else:
        print('用户名不合法!')

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

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

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

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

 

 

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

      输入: “hello java hello python”

      输出:

       hello 2

       java 1

       python 1

 '''
        输入一句英文字符串,单词之间以空格为分隔符, 并且不包含,和.>;统计每个单词重复的单词出现的次数
      输入: “hello java hello python”
      输出:
        hello 2
        java 1
        python 1
    '''
    strs=input('输入一句英文句子:')
    #字符串空格分割
    ll=strs.split(" ")
    #空字典
    word={}
    #循环
    for i in ll:
        # print(i)
        #判断不在字典中
        if i not in word:
            word[i]=1
        else: #存入加1
            word[i]+=1
    # print(word)
    for k,v in word.items():
        print(k,v)

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/25419.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【论文阅读】社交网络传播最大化问题-02

Leader-Based Community Detection Algorithmin Attributed Networks以往leader-aware算法创新点问题定义定义基础概念定义创新概念模型构造第一步&#xff1a;确定每个节点的leader第二步&#xff1a;合并小分支以得到最终结果实验数据集人工合成网络现实世界的网络基线方法和…

leetcode:2478. 完美分割的方案数【预处理 + dp定义 + 前缀和优化】

目录题目截图题目分析ac code总结题目截图 题目分析 开头必定是prime&#xff0c;结尾必定是not primek 1特判找到所有可能的结尾点&#xff08;最后一个不考虑&#xff09;结尾点i必须满足s[i]->not prime, s[i 1]->prime设结尾点集合为x0 < x1 < x2 < … &…

Docker的容器管理

1、创建容器 容器创建&#xff1a;就是将镜像加载到容器的过程。 创建容器时如果没有指定容器名称&#xff0c;系统会自动创建一个名称。 新创建的容器默认处于停止状态&#xff0c;不运行任何程序&#xff0c;需要在其中发起一个进程来启动容器。 docker create创建的容器…

MCE | ROS 与疾病的关系

前段时间&#xff0c;一篇刊登在国际杂志 Cell Metabolism 上的研究报告表明&#xff0c;从表型正常的细胞转化为癌变细胞或许涉及抗氧化剂防御 (Antioxidant defense) 和核苷酸合成 (Nucleotide synthesis) 两个部分&#xff0c;而突破这些限制可能是致癌转化的关键。文中通过…

oracle常见报错问题处理

文章目录协议适配器错误怎么办&#xff1f;忘记密码了怎么办&#xff1f;报错:ora-01033oracle initialization or shutdown in progress&#xff1b;edit无法使用怎么办&#xff1f;报错:ORA-28547:connection to server failed,probable Oracle Net admin errorORA-12505:监听…

大一学生HTML期末作业_ 季奥林匹克运动会 8页 无js 带表单 带报告5200字

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 校园篮球网页设计 | 足球体育运动 | 体育游泳运动 | 兵乓球 | 网球 | 等网站的设计与制作HTML期末大学生网页设计作业 HTML&#xff1a;结构 CSS&…

让你全方位了解Shell终端,轻松学习

关于shell终端&#xff0c;本文将在以下几个方面做以总结和说明&#xff0c;希望对大家有所帮助。 1.什么是shell Shell是用户和Linux操作系统之间的接口。Linux中有多重shell&#xff0c;其中缺省使用的是Bash。如果把Linux内核想象成一个球体的中心&#xff0c;shell就是围绕…

[go学习笔记.第十六章.TCP编程] 3.项目-海量用户即时通讯系统-redis介入,用户登录,注册

1.实现功能-完成用户登录 在redis手动添加测试用户,并画出示意图以及说明注意事项(后续通过程序注册用户) 如:输入用户名和密码,如果在redis中存在并正确,则登录,否则退出系统,并给出相应提示: 提示信息: 1.用户不存在或者密码错误 2.重新注册并登录 redis手动添加测试用户 ser…

GitLab的使用

目录 一、腾讯云 / 阿里云 购买服务器 二、服务器上安装GitLab-ce 三、使用git 1、首先把服务器上的代码克隆下来 2、将所有有改动的全部添加到要提交的本地库中 3、将修改提交到本地库 4、将本地库的commit推送到远程服务器 5、拉取服务器上最新资源&#xff1a; 6、…

智创未来 · 引领5G价值,广和通携5G AIoT创新应用亮相2022德国慕尼黑电子展

11月15-18日&#xff0c;两年一届的全球电子行业盛会——德国慕尼黑电子展&#xff08;Electronica 2022&#xff09;于慕尼黑展览中心顺利举行。作为全球领先的物联网无线通信解决方案和无线模组供应商&#xff0c;广和通精彩亮相B5馆139展台&#xff0c;向全球物联网企业分享…

机器学习分类模型评价指标之ROC 曲线、 ROC 的 AUC 、 ROI 和 KS

前文回顾&#xff1a; 机器学习模型评价指标之混淆矩阵机器学习模型评价指标之Accuracy、Precision、Recall、F-Score、P-R Curve、AUC、AP 和 mAP 1. 基本指标 1.1 True Positive Rate(TPR) TPRTPTPFNTPR \frac{TP}{TPFN}TPRTPFNTP​ 中文&#xff1a;真正率、灵敏度、召…

一天快速掌握Mybaits[一]

一、搭环境 Spring Initializr的搭建 创建完毕后的项目结构 此时application的后缀更名为yml&#xff0c;因为这样&#xff0c;看起来更简洁明了&#xff0c;而作用上&#xff0c;无差别 数据库环境的搭建 新建数据库 执行SQL语句 use mybatis-demo; CREATE TABLE user (id…

珠海航展有图扑 | 数字孪生方案助力智慧航天

2022 年 11 月 8 日~11 月 15 日&#xff0c;在第十四届中国国际航空航天博览会&#xff08;简称中国航展&#xff09;中&#xff0c;图扑先进的数字孪生解决方案&#xff0c;支撑合作伙伴实现人机交互场景。 图扑助力航展数字化 在本届国际航空航天博览会中&#xff0c;图扑…

Word控件Spire.Doc 【图像形状】教程(2) ;在 C#、VB.NET 中从 Word 中提取图像

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具&#xff0c;专注于创建、编辑、转…

代码演示GC回收

JVM配置 -XX:NewSize5m 初始新生代大小 -XX:MaxNewSize5m 最大新生代大小 -XX:InitialHeapSize10m 初始堆大小 等同于Xms -XX:MaxHeapSize10m 最大堆大小 等同于Xmx -XX:SurvivorRatio8 Eden区占80% -XX:PretenureSizeThreshold10m 大对象阈值 -XX:UseParNewGC 新生代使用ParN…

最新最全面的Spring详解(五)——事务管理

前言 本文为 【Spring】事务管理 相关知识&#xff0c;下边将对Spring框架事务支持模型的优点&#xff0c;Spring框架的事务抽象的理解&#xff08;包含TransactionManager、TransactionDefinition、TransactionStatus&#xff0c;编程式事务管理&#xff08;包含使用 Transact…

(七)笔记.net core学习之反射、加载dll、读取moudle、类、方法、特性

1.反射加载dll、读取moudle、类、方法、特性 &#xff08;1&#xff09;模块信息获取 &#xff08;2&#xff09;方法调用 2.反射创建对象、反射简单工厂配置文件&#xff08;破坏单例&#xff0c;创建泛型&#xff09; &#xff08;1&#xff09;程序的可配置可扩展&#xf…

【MEIF:ℓ1-ℓ0混合分解】

Multimodal Medical Image Fusion Using Hybrid Layer Decomposition With CNN-Based Feature Mapping and Structural Clustering &#xff08;基于CNN的特征映射和结构聚类的混合层分解的多模态医学图像融合&#xff09; 本文提出了一种特征级多模态医学图像融合&#xff0c…

springboot获取不到客户端ip问题排查

一、现象 springboot从2.0.2升级到 2.5.7后线上环境无法通过request.getHeader("x-forwarded-for")获取客户端ip地址&#xff0c;测试环境正常&#xff0c;开发环境也异常 二、结论 springboot 2.5.7版本中CloudPlatform多了Kubernetes platform的类型识别&#x…

SpringCloud整合Nacos最全教程(简介及安装部署整合)

目录 一、Nacos简介 Nacos与eureka的共同点 Nacos与Eureka的区别 二、Nacos安装配置 在windows中的安装教程 1.首先将windows安装版本的zip解压&#xff1a; 2.如果8848端口被占用&#xff0c;可以修改端口 3.进入到bin目录下&#xff0c;在cmd中运行以下命令启动 4.启…