3.1字符串 课件(共17张PPT)2022-2023学年浙教版(2019)高中信息技术选修1

资源下载
  1. 二一教育资源

3.1字符串 课件(共17张PPT)2022-2023学年浙教版(2019)高中信息技术选修1

资源简介

(共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 "
B
a[::-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.9
C
strip()函数
字符串常用函数
★ 把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
replace( )函数
例如:x = “is is is is”
print( x.replace(“is”, “was”) )
print( x.replace(“is”, “was”,3) )
was was was was
was 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出现的首字符下标,若找不到,则返回-1
x.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//2
left=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#行数+1
if k==1:
print(row[0]," ",row[1])#输出第一行数据的第一个和第二个值
continue#跳过这一次循环,继续下一次循环
字符串的应用
例2 机动车违章识别系统
car=row[0]#变量car存储每行的车牌号
name=row[1]#变量name存储每行的车主姓名
w=row[3]#变量w存储每行的车辆通行星期
week="12345"
pos=0
if car[0:2]=="城B":#判断是不是本地车牌
pos=1#本地车牌pos的值赋为1
if 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-1
ch=car[i]#依次取出车牌的最后一个字符
if ch>="0" and ch<="9":#若最后一个字符为数字
break#中断循环
num=int(ch)
if num==0:#若尾号为0
t=week[4]#周五禁行
elif num<=5:#若尾号为1,2,3,4,5
t=week[num-1]#周一、二、三、四、五禁行
else:#若尾号为9,8,7,6
t=week[9-num]#周一、二、三、四禁行
if t==w:#若车辆行驶日期为禁行日期
print(car," ",name)#输出违规的外地车辆的车牌号及车主姓名
f.close()
好好学习
天天向上

展开更多......

收起↑

资源预览