资源简介 (共34张PPT)第1节 字符串(1课时)第3章 字符串、队列和栈浙教版(2019) 选修一字符串的概念与特性01字符串的基本操作02通过实际问题,恰当地选择字符串结构,并总结字符串的概念、特性及基本操作。01熟练掌握字符串连接、切片等基本操作。03体验用字符串解决问题的基本流程,逐步形成运用字符串结构解决问题的思维方式和学科方法。02PART 01字符串的概念与特性新课导入看看一拥堵的城市交通图新课导入想想一在限行规则下,如何快速获取违章车辆。问题小组合作、讨论、设计分析违章车辆的算法。1.车牌号有什么特点?2.以哪种方式存储车牌最佳 提问新课导入车牌号是由数字和字母组成的。大量的有规律数据可以用字符串来存储、处理相应的数据,实现对应的功能。什么是字符串?字符串的概念与特性一概念字符串是由零个或多个字符组成的有限序列。字符来自哪里?128个字符大小写英文字母数字控制字符标点符号……文字字符字符串的概念与特性一一个字符串中可以包含多种字符集字符。GB18030字符集BIG5字符集Unicode字符集常见的字符集GBK字 符集ASCII字符集GB2312字符集添加标题字符集是多个字符的集合,种类较多。每个字符集包含的字符个数不同。字符串的概念与特性一字符串中所包含的字符个数称为字符串的长度。“Hello World”双引号或单引号加以界定空格也是一个字符包含11个字符,不包括双引号字符串的概念与特性一在字符串的应用中,会涉及一些特殊的字符串。空串:空串是不包含任何字符的串,其长度为零。空格串:空格串是由空格组成的字符串,其长度为空格字符的个数。一个字符串中任意个连续的字符序列称为该字符串的子串。例如,字符串S为“HelloWorld”,字符串“H”,“He”,“el”,“ell”,“World”等都是S的子串。串S也是串S的子串。除S本身外,S的其他子串称为S的真子串。字符串的概念与特性一特性(1)STEP有限序列性 字符串是一种线性表结构。 数据元素个数是有限的。 由零个或多个字符组成。 可使用序列切片操作除第一个和最后一个元素外,其他元素都有一个唯一的前驱和后继,有正索引标号和负索引标号。字符串“Hello World”的索引标号字符串的概念与特性一(2)STEP可比性 在排序、词频统计、查找文本等操作中,需要对字符串进行比较。 按ASCII码值进行比较 根据编码的方式进行比较比如字符串“word”与“work”,前3个字符一样,第4个字符“k”的ASCII码值大于字符“d”的ASCII码值,因此字符串“work”大于字符串“word”。当字符串中仅有数字字符时,采用同样的比较方式,如“9”大于“10”。对于含有非ASCII字符集的字符串,需要根据编码的方式进行比较。字符串的概念与特性一只需知道数据之间相互链接的顺序探讨与讨论一数组与字符串有哪些区别?1.定义不同:字符数组是用来存储一系列字符的数组。字符串是由一系列字符组成的字符序列。2.长度不同:字符数组的大小在编译时就必须确定,大小固定不可变。字符串在编译时并没有确定大小,一般通过字符串长度来获取它的长度。3.元素不同:字符数组的元素是字符类型。字符串的元素是字符类型,并且在使用字符串时,除第一个元素外,其他元素都为'\0'。4.存储方式不同:字符数组一般通过数组下标的方式访问。5.功能不同:字符数组除了存储字符外,还可以执行一些字符操作。字符串除了存储字符外,还可以进行字符串的一些操作,如拼接、拷贝、截断、连接等操作。字符串的基本操作二字符串的操作04030201从字符串中提取子串将字符串转换成小写将字符串转换成大写字符串匹配创建常用单引号()、双引号("")和三个单引号或双引号来创建。例如:var1 = 'Hello World!'var2 = "Python"字符串的基本操作二01子串判断子串判断用于检查字符串a是否为字符串S的子串。在Python中,可以用in运算实现,格式为“字符串a in 字符串S”。当字符串S包含字符串a时,值为True,否则值为False。Python程序展示用in运算字符串的基本操作二02求子串用于从字符串中取出其子串。在Python中,可以用切片实现。格式为“字符串[位置i:位置j]”。S[i:j]表示取字符串S的索引下标i至j–1范围内的子串S[6:11]为取字符串S中第7个至第11个位置上的字符,得到子串“World”。字符串的基本操作二02求子串使用[]来截取字符串。即:序列的索引和切片操作。格式为:字符串[start:stop:step],对字符串下标[start,stop)进行步长为step的提取例如以S=“我爱学习Python”为例变式 表达式 值S[start:stop] 步长为1时,其中step可省略 S[0:2] “我爱”S[:stop] start为0时,可省略 S[:1] “我”S[start:] stop为序列长度时,可省略 S[4:] “Python”S[:] start,stop为默认值时,可省略 S[:] “我爱学习Python”字符串的基本操作二只需知道数据之间相互链接的顺序探讨与讨论一已知字符串a"人生苦短,我用Python”,则下列说法正确的是( )A.a[5]的值为",",a[:5]的值为"人生苦短"B.a[5]的值为"我”,a[:5]的值为"人生苦短"C.a[-5]的值为"y",a[-5:]的值为" thon "D.a[-5]的值为"用",a[-5:]的值为"ython "C字符串的基本操作二03字符串的连接用于把两个字符串连接在一起。在Python中,用“+”号连接符实现。格式为“字符串S1+字符串S2”。(1)(2)直接拼接直接将两个字符串常量紧挨着写在一起就可以了。例如:strname = "abc" "hig"- strname = “abchig”若有变量,则需【+】运算符拼接【+】运算符也能拼接字符串常量例如:str1=“Python”strname = str1 +“语言”strname = “Python语言”字符串的基本操作二03字符串的连接Python程序如下字符串的基本操作二Python中内置了非常丰富的字符串函数与方法,可直接调用。函数和方法 功能 实例len(x) 统计字符串x中字符的个数 x="Hello!"print(len(x))输出为:6x.find(y) 返回字符串x中子串y出现的首字符下标,若找不到,则输出–1 x="Hello!"y="llo"print(x.find(y))输出为:2x.split(str="",num=string.count(str)) 以str分隔符切片 x,如果 num有指定值,那么仅分隔 num 个子串。切片得到的值存储在列表中 x="I like Python"list=x.split()print(list)输出:['I', 'like', 'Python']字符串的基本操作二Python中内置了非常丰富的字符串函数与方法,可直接调用。函数和方法 功能 实例x.replace(old,new[, max]) 返回字符串中的old(旧字符串)替换成new(新字符串)后生成的新字符串,如果指定第三个参数max,那么替换不超过max次 x="is is is is"print(x.replace("is", "was"))print(x.replace("is", "was", 3))输出:was was was waswas was was isx.upper() 把字符串x中的小写字母转换成大写字母 x="I like Python"y=x.upper()print(y)输出:I LIKE PYTHONx.lower() 把字符串x中的大写字母转换成小写字母 x="I like Python"y=x.lower()print(y)输出:i like python字符串的基本操作二例一回文串从左往右读和从右往左读都一样的字符串称为回文串,比如“客上天然居,居然天上客”。输入一个字符串,写一个程序,判断该字符串是否为回文串。根据回文串的特点,只要字符串左右对称,它就是回文串。判断字符串的左右对称时,可以先找到中间位置,采用切片操作,取出字符串的左半部分,存储到字符串变量left中;再采用切片操作,取出右半部分并反转,存储到字符串变量right中。若left与right相等,则为回文串。字符串的基本操作二用Python实现的程序如下:字符串的基本操作二可以直接利用Python语言中的字符串反转命令[::–1],直接反转原字符串,再与原字符串比较。程序如下:字符串的基本操作二例二机动车违章识别系统随着机动车数量的增长,一些城市为了缓解交通压力,采取了错峰出行的措施。错峰出行,即划定区域在工作日的上下班高峰时段内,禁止挂有外地车牌和车牌尾号是某些数字的本地车牌的车辆行驶。某城市(车牌城市代码为城B)在工作日的7:00—9:00、16:30—18:30内,周一限行车牌数字尾号1和9,周二限行车牌数字尾号2和8,周三限行车牌数字尾号3和7,周四限行车牌数字尾号4和6,周五限行车牌数字尾号5和0,外地车牌全部限行。现有某个路口一周的车辆通行信息,部分信息如表3.1.3所示。请编写程序,输出违章车辆的车牌号码和车主姓名。字符串的基本操作二部分车辆通行信息表1.抽象与建模(1)(2)外地车牌且行驶时间在周一至周五。本地车牌且车牌数字尾号与限行数字尾号匹配。字符串的基本操作二1252.设计算法用字符串变量car存储“车牌号码”,字符串变量name存储“车主姓名”,数值变量w存储“星期”。在字符串car中,取前2个字符,判断是否为“城B”。若是“城B”,则为本地车牌,执行③;否则,为外地车牌,执行④。重复①、②、③、④操作,直至所有车辆处理完毕。用字符串存储 “车 牌号码”,通过 索引、字符串的比较等操作,确定车辆的城市代码。如果是本地车牌,从右往左枚举车牌号码,找 到第一个数字,即为该车牌的数字尾号。再根据限行规则,与“星期”数据逐一比较。从右往左扫描字符串car,找到第一个数字,存入变量num中,代表车牌的数字尾号。用week存储限行的星期字符串“12345”,代表周一至周五,t存储该车的数字尾号在星期几限行。根据数字尾号的限行规则,当num=0时,t=week[4] ;当1≤num≤5时,t=week[num–1] ;当num>5时,则t=week[9–num]。再将t与w值进行比较,若相等,则车辆违章,输出车牌号码和车主姓名。3若w的值为6或7,则该车辆不违章;否则,车辆违章,输出车牌号码和车主姓名。4字符串的基本操作二3.编写程序字符串的基本操作二1.有如下python程序段:s=“Python3.8”ans=“ ”for ch in s:if ch.isupper( ):ans+=ch.lower( )elif ch.islower( ):ans+=ch.upper( )else:ans+=chprint(ans)则程序执行后,输出的结果为( )A.Python B.Python3.8C.pYTHON D.pYTHON3.8D课堂小练三1.有如下程序段:S=“2022 Hope To Get Out Of The Epidemic”t=“”for i in s:if i<“a” or i>“z”:t=””t=i+tprint(t)该程序运行后,最后显示的内容是( )A.cimedipE B.cimedip C.cimed D.cime2.有如下python程序段:a=input()t,s=0,0for c in a[::-1]:if c.isdigit():t=t*10+int(c)else:s+=tt=0print(t)当输入“123ABC456”时,程序输出结果为:( )A.321 B.654 C.123 D.975AA小结四小 结字符串的概念与特性字符串的基本操作字符串1.子串判断2.求子串3.字符串的连接1.字符串的概念2.字符串的特性①有限序列性②字符串的可比性谢谢观看第1节 字符串浙教版(2019) 选修一 展开更多...... 收起↑ 资源预览