3.1 字符串-学习任务单 (1).docx
学习任务单
课程基本信息
学科
信息技术
年级
高二
学期
春季
课题
数组及其应用
学习目标
1.了解字符串的常见应用
2.通过实例,掌握字符串的基本操作
课前学习任务
1.回顾字符串表达、索引与运算等相关知识
2.回顾ASCII字符编码表,以及ord()与chr()等常用的函数
3.课前练习:
(1)若字符串s=“study”,其子串的个数是
A.10B.11C.15D.16
有如下5个字符串,对其升序排序,则正确的序号顺序是
①“2021”②“python”③“Python”④“pro”⑤“Max”
A.④⑤①③②B.①⑤③④②C.③②④⑤①D.⑤③①④②
已知字符串ID=,则下列表达式运算结果为True的是
A.ID[1:3]==“330”B.ID[0::3]==“330”
C.ID[15:]==“6”D.ID[0:6:2]==“300”
【参考答案】
(1)D(2)B(3)D
课上学习任务
实例1:去重(删数)
小明编写了一个字符串去重程序,它的功能是对字符串进行去重,并保持原顺序不变。例如,输入的字符串为“absnbassqr”,执行程序后输出的字符串为“absnqr”。实现上述算法的Python程序如下,请在划线处填入合适的代码。
s1=input(请输入字符串:)
n=len(s1)
p=[]
s=
foriinrange(n):
p.append(s1[i])
foriinrange(n):
①
whilejn:
ifp[i]==p[j]:
forkinrange(j+1,n):
②
n-=1
j-=1
j+=1
foriinrange(n):
③
print(s)
实例2:单词统计
统计英文文本中出现的不同单词个数:输入一段英文文本,要求单词和单词之间用1个空格或标点符号隔开,文末以标点符号结尾,在区分单词大小写的情况下,输出该文本中所出现的不同单词个数。Python程序运行界面如图所示。
text=input(请输入英文文本:)
lst=[]
s=
defjudge(①):
ifstinlst:
returnFalse
else:
returnTrue
foriinrange(len(text)):
②
ifa=c=zorA=c=Z:
s=s+c
else:
ifjudge(s):
lst.append(s)
s=
print(出现的不同单词个数为:,len(lst))
实例3:进制转换
小江编写Python程序完成不同进制的加法运算。输入一个由二进制、十进制或十六进制组成的加法式子,求出这个加法式子的和(用十进制表示)。加法式子形式如A2H+1101B=,程序运行界面如图所示:
defxtod(s,m):#将m进制数s转换为十进制数
n=len(s);y=0
forkinrange(0,n):
ch3=s[k]
ifF=ch3=A:
x=ord(ch3)-55
else:
x=int(ch3)
y=①
returny
s1=input(请输入式子:)
i=0;ans=0
dic={B:2,D:10,H:16}
forjinrange(0,len(s1)):
ch1=s1[j]
ch2=s1[j-1]
ifch1==+orch1===:
s2=s1[i:j-1]
ans=②
③
print(运算结果为:+str(ans)+D)