资源简介 (共17张PPT)3.1 字符串基本操作和应用知识储备字符串是由零个或多个字符组成的有限序列。·特殊的字符串空串:空串是不包括任何字符的串,长度为零。空格串:空格串是由空格组成的字符串,其长度为空格字符的个数。(1)有限序列性(2)字符串的可比性---可使用序列切片操作---比较第一个不相等字符的ASCII码值。一、字符串的概念二、字符串的特性字符串的基本操作1.子串判断子串判断用于检查字符串a是否为字符串s的子串。①在python中使用成员运算符in来实现,格式为:a in s,如果字符串s中包含字符串a,返回True,否则返回False。②在python中也可以使用for循环语句,逐个枚举字符串中的字符。例如,逐个判断字符串a中的字符是否为b的字符,代码如下:a=“hello world”b=“I love Python”for ch in a:if ch in b:print(ch,end=“”)输出:____________hello ol字符串的基本操作③Python字符串提供了find()方法检测字符串中是否包含子字符串str。其语法格式为: x.find(y),返回字符串x中子串y出现的首字符的索引值,若找不到,则输出-1。例:s=“Hello!”s1=“llo”print(s.find(s1))输出:2字符串的基本操作★ 使用[ ]来截取字符串。即:序列的索引和切片操作。1.已知字符串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 "Ba[::-1]a[0:len(a):-1]a[::-2]2.求子串字符串的基本操作★ 用“+”运算符,注意需转换为字符串及字符的先后顺序★ join() 方法合并字符串: 将列表等序列中多个字符串采用固定的分隔符连接3.字符串的连接字符串常用函数★ 用于拆分字符串。通过指定分隔符(默认空格)对字符串进行切片,并返回分割后的字符串列表(list)split()函数字符串常用函数★ 默认去除首尾的空格,也可以指定去除特殊字符2. 已知字符串s=" A B C D "则执行语句“s=s.strip()”后,字符串s的长度为( )A.1 B.4 C.7 D.9Cstrip()函数字符串常用函数★ 把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。replace( )函数例如:x = “is is is is”print( x.replace(“is”, “was”) )print( x.replace(“is”, “was”,3) )was was was waswas was was is字符串常用函数★ 把字符串中小写字母转换成大写字母。upper()函数例如:x = “I Like Python”print( x.upper() )I LIKE PYTHON★ 把字符串中小写字母转换成大写字母。lower()函数例如:x = “I Like Python”print( x.lower() )i like python字符串常用函数函数 功能len(x) 统计序列中元素的个数x.find(y) 返回字符串x中子串y出现的首字符下标,若找不到,则返回-1x.split(str=“”,num) 根据指定分隔符进行切片,默认根据空格,切片后得到的值存储在列表中。如果num有指定值,那么仅分割num个子串x.strip() 去除首尾指定字符,默认取出空格x.replace(old,newn,new) 把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。x.upper() 把字符串中小写字母转换成大写字母。x.lower() 把字符串中小写字母转换成大写字母。字符串的应用例1 回文串从左往右读和从右往左读都一样的字符串称为回文串。比如“客上天然居,居然天上客”。输入一个字符串,写一个程序,判断该字符串是否为回文串。s=input("请输入字符串:")length=len(s)mid=length//2left=s[0:mid]temp=s[-mid:]right=””for i in range(len(temp)):right=right+temp[len(temp)-i-1]if left==right:print(“Yes”)else:print(“No”)s=input("请输入字符串:")if _________________:print(“Yes”)else:print(“No”)s==s[::-1]s[:n//2]==s[:(n-1)//2:-1]s[:n//2]==s[:-(n//2)-1:-1]字符串的应用例2 机动车违章识别系统随着机动车输了的增长,一些城市为了缓解交通压力,采取了错峰出行的措施。错峰出行,即划定区域在工作日的上下班高峰时段内,禁止挂有外地车牌和车牌尾号是某些数字的本地车牌的车辆行驶。某城市(车牌城市代码为城B)在工作日的7:00——9:00、16:30——18:30内,周一限行车牌数字尾号1和9,周二限行车牌数字尾号2和8,周三限行车牌数字尾号3和7,周四限行车牌数字尾号5和6,周五限行车牌数字尾号5和0,外地车牌全部限行。请编写程序,输出违章车辆的车牌号码和车主姓名。根据该城市的限行规则,只需具备下列条件之一,即可判定某车违章:1、外地车牌且行驶时间在周一至周五。2、本地车牌且车牌数字尾号与限行数字匹配。字符串的应用例2 机动车违章识别系统import csv#数据读入f=open("车牌号码.csv","r")#以读的方式打开"车牌号码.csv"文件f_csv=csv.reader(f)k=0#变量k用于计数,表示行数for row in f_csv:#按行读取文件k=k+1#行数+1if k==1:print(row[0]," ",row[1])#输出第一行数据的第一个和第二个值continue#跳过这一次循环,继续下一次循环字符串的应用例2 机动车违章识别系统car=row[0]#变量car存储每行的车牌号name=row[1]#变量name存储每行的车主姓名w=row[3]#变量w存储每行的车辆通行星期week="12345"pos=0if car[0:2]=="城B":#判断是不是本地车牌pos=1#本地车牌pos的值赋为1if pos==0 and w!=6 and w!=7:#外地车牌且行驶时间不在周六周日print(car," ",name)#输出违规的外地车辆的车牌号及车主姓名字符串的应用if pos==1:#pos=1为本地车牌i=len(car)#i为车牌的长度while i>=0:i=i-1ch=car[i]#依次取出车牌的最后一个字符if ch>="0" and ch<="9":#若最后一个字符为数字break#中断循环num=int(ch)if num==0:#若尾号为0t=week[4]#周五禁行elif num<=5:#若尾号为1,2,3,4,5t=week[num-1]#周一、二、三、四、五禁行else:#若尾号为9,8,7,6t=week[9-num]#周一、二、三、四禁行if t==w:#若车辆行驶日期为禁行日期print(car," ",name)#输出违规的外地车辆的车牌号及车主姓名f.close()好好学习天天向上 展开更多...... 收起↑ 资源预览