3.1 字符串 教学课件(34张PPT)-高中信息技术选修1数据与数据结构浙教版(2019)

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

3.1 字符串 教学课件(34张PPT)-高中信息技术选修1数据与数据结构浙教版(2019)

资源简介

(共34张PPT)
第1节 字符串(1课时)
第3章 字符串、队列和栈
浙教版(2019) 选修一
字符串的概念与特性
01
字符串的基本操作
02
通过实际问题,恰当地选择字符串结构,并总结字符串的概念、特性及基本操作。
01
熟练掌握字符串连接、切片等基本操作。
03
体验用字符串解决问题的基本流程,逐步形成运用字符串结构解决问题的思维方式和学科方法。
02
PART 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.功能不同:字符数组除了存储字符外,还可以执行一些字符操作。字符串除了存储字符外,还可以进行字符串的一些操作,如拼接、拷贝、截断、连接等操作。
字符串的基本操作

字符串的操作
04
03
02
01
从字符串中提取子串
将字符串转换成小写
将字符串转换成大写
字符串匹配
创建
常用单引号()、双引号("")和三个单引号或双引号来创建。
例如: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))
输出为:6
x.find(y) 返回字符串x中子串y出现的首字符下标,若找不到,则输出–1 x="Hello!"
y="llo"
print(x.find(y))
输出为:2
x.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 was
was was was is
x.upper() 把字符串x中的小写字母转换成大写字母 x="I like Python"
y=x.upper()
print(y)
输出:
I LIKE PYTHON
x.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)
外地车牌且行驶时间在周一至周五。
本地车牌且车牌数字尾号与限行数字尾号匹配。
字符串的基本操作

1
2
5
2.设计
算法
用字符串变量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+=ch
print(ans)
则程序执行后,输出的结果为( )
A.Python B.Python3.8
C.pYTHON D.pYTHON3.8
D
课堂小练

1.有如下程序段:
S=“2022 Hope To Get Out Of The Epidemic”
t=“”
for i in s:
if i<“a” or i>“z”:
t=””
t=i+t
print(t)
该程序运行后,最后显示的内容是( )
A.cimedipE B.cimedip C.cimed D.cime
2.有如下python程序段:
a=input()
t,s=0,0
for c in a[::-1]:
if c.isdigit():
t=t*10+int(c)
else:
s+=t
t=0
print(t)
当输入“123ABC456”时,程序输出结果为:( )
A.321 B.654 C.123 D.975
A
A
小结

小 结
字符串的概念与特性
字符串的基本操作
字符串
1.子串判断
2.求子串
3.字符串的连接
1.字符串的概念
2.字符串的特性
①有限序列性
②字符串的可比性
谢谢观看
第1节 字符串
浙教版(2019) 选修一

展开更多......

收起↑

资源预览