3.1 字符串(分层作业)信息技术浙教版2019选择性必修1

2025-10-30
| 10页
| 357人阅读
| 2人下载

资源信息

学段 高中
学科 信息技术
教材版本 高中信息技术浙教版选修1 数据与数据结构
年级 高二
章节 3.1 字符串
类型 作业-同步练
知识点 字符串的概念与特性,字符串的基本操作
使用场景 同步教学-新授课
学年 2025-2026
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 DOCX
文件大小 63 KB
发布时间 2025-10-30
更新时间 2024-09-02
作者 wuhao1987
品牌系列 上好课·上好课
审核时间 2024-09-02
下载链接 https://m.zxxk.com/soft/47136023.html
价格 2.00储值(1储值=1元)
来源 学科网

内容正文:

3.1字符串 1课时(分层作业) 【基础达标】 1.字符串是由 或 组成的有限序列。 2.字符串中的字符来自于某些特定的字符集,如ASCII(AmericanStandard Code for Information Interchange,美国信息交换标准码)字符集,它包括 、 、 、 等共 个字符。 3.空串是不包含任何字符的串,其长度为 。 4.空格串是由 组成的字符串,其长度为 的个数。 5.字符串的特性包括: 、 。 6.字符串是一种 ,它的数据元素个数是 的,由零个或多个字符组成。 7.字符串的操作可以实现 、 、 等。 8.字符串的基本操作有 、 、 等。 9.已知字符串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 " 10.下列Python字符串不合法的是:( ) A.”I love ‘China’” B.’I “love” China’ C.’I love \’China\’’ D.’I love ‘China” 【巩固提升】 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=”Beautiful is better than ugly.”.split() b=””.join(a) 则下列说法正确的是:( ) A.a[4]的值为“ugly”,b[4]的值为“t” B.a[4]的值为“ugly.”,b[4]的值为“t” C.a[-4]的值为“is”,b[-4]的值为“u” D.a[-4]的值为“Beautiful”,b[-4]的值为“g” 3.有如下python 程序段: def fun(a,b): n=min(len(a),len(b)) for i in range(n): if a[i]>b[i]: return a elif a[i]<b[i]: return b if len(a)>len(b): return a else: return b print(fun(“126”,”26”)) 则程序执行后,输出的结果为:( ) A.a B.b C.126 D.26 4.有如下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 5.有如下Python程序段: text=”床前明月光,疑是地上霜。举头望明月,低头思故乡。” text=text.replace(“。”,“,”) ans=[s[0] for s in text.split(“,”) if s] ans=“”.join(ans) 则程序执行后,ans的值为( ) A.“床前明月光” B.“床前明月” C.“床疑举低” D.”举头望明” 6.有如下python程序段: text=“It is too old to learn.” ans=text[:6]+“never”+text[6:] print(ans) 则程序执行后,输出的结果为( ) A.It is too old to learn B.It is never too old to learn C.It is nevertoo old to learn D.It isnever too old to learn 7. 有如下Python程序段: for ch in “I have a dream”: if ch not in”aoeiu”: continue print(ch,end=””) 则程序执行后,输出的结果是( ) A.无输出 B.I have a dream C.I hv drm D.aeaea 【链接高考】 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 2.有如下程序段: s=”” ch=”GaozhouKG2021” n=len(ch) for i in range(1,n,2): c=ch[i] if “A”<=c<=“Z”: c=chr((ord(c)-ord(“A”)+2)%26+65) elif “a”<=c<=“z”: c=chr((ord(c)-ord(“a”)+2)%26+97) else: c=chr(ord(c)+1) s=c+s print(s) 该程序运行后,最后显示的内容为( ) A.IqjwI12 B.21IwjqI C.cbqM33 D.33Mqbc 3.有如下python程序段: a=“110000010111010” if len(a)%4!=0: a=(4-len(a)%4)*“0”+a) s=“0123456789ABCDEF” ans=[] for i in range(0,len(a),4): num=int(a[i:i+4],2) ans.append(s[num]) print(‘’.join(ans)) 已知int()函数用于将一个字符串或数字转换为整型,例如 int(“101”,2)用于将二进制数101转换为十进制数,结果为5,则程序执行后,输出的结果为( ) A.60BA B.C174 C.182E8 D.305D 4.回文串是一个对称串,从左向右读与从右向左读是一样的。例如:“aba”从左向右读是“aba”,从右向左读也是“aba”。下面的Python程序的功能就是将一个字符串转换成回文串。如输入“abc”,输出“abccba”。程序如下: s=input(“输入一个串”) s1=s i=0 while i<len(s): ______(1)______ _______(2)______ i+=1 print(“回文串:”,s1) 在横线(1)与(2)处可选的语句如下: ①ch=s[len(s)-i] ② ch=s[len(s)-1-i] ③s1=ch+s1 ④s1=s1+ch 则完成此程序正确的语句为( ) A.①③ B.②④ C.①④ D.②③ 5.在字符串s中找连续数字(仅限1位数)之和为n的子串,若存在多个子串符合要求,则输出子串最长的那一串,如字符串“142176”中,和为14的子串有“4217”与“176”,子串“4217”的长度大于子串“176”的长度,最终输出子串“4217”。假设所给字符串中必存在满足条件的子串,实现该功能的python程序段如下,请在划线处填上合适的代码: s=input(“输入数字字符串:”) n=int(“input(“输入数值和:”)) n=14 i=0;sum=0;st=“” for j in range(len(s)): ____(1)_______ sum+=ch1 while sum>n: ch2=int(s[i]) ____(2)_________ i+=1 if sum==n and____(3)________: st=s[i:j+1] print(st) 6.某字符加密法:先输入英文字符串(大小写均可,长度不超过100),依次将其中字符的ASCII码值转化为7位二进制数,形成输入码并以矩阵形式输出;将7位二进制数进行加密处理,先进行水平翻转,再将翻转后的二进制数奇数位上的数字取反,0转1、1转0;最后将加密后的7位二进制数转化为十进制数作为密文显示。 按上述要求,编写一个Python程序,功能如下:输入英文字符串,运行程序输出对应的输入码,并显示密文。程序运行界面如图所示。 请输入英文字符串:Python 输入码: P:1010000 y:1111001 t:1110100 h:1101111 o:1101111 n:1101110 密文:80 26 66 94 46 110 (1)若输入的英文字符串是“Ok”,则加密后的密文是______________________________。 (2)实现上述功能的Python程序如下,请在划线处填入合适的代码。 ‘’’依次生成并输出英文字符串text各字符对应的7位二进制数‘’’ def show_code(text): code=[[0]*7 for i in range(len(text))] for i in range(len(text)): n=ord(text[i]) j=0 s=”” while n>0: code[i][6-j]=n%2 s=str(n%2)+s n= ______①_______ j=j+1 print(f”{text[i]}:{s}”) return code ‘’’对各字符对应的7位二进制数按规则进行加密处理,并返回密文’’’ def encode(plain_code): secret_code=[ ] for i in range(len(plain_code)): s=0 for j in range(7): num=___②___________ if j%2==0: num=1-num s=s*2+num secret_code.append(______③________) return “”.join(secret_code) text=input(“请输入英文字符串:”) print(“输入码:”) plain_code=show_code(text) print(f”密文:{encode(plain_code)}”) 参考答案 【基础达标】 1.零个、多个字符 2.大小写英文字母、数字、标点符号、控制字符等、128 3.零 4.空格、空格字符 5.有限序列性、可比性 6.线性表结构、有限 7.从字符串中提取子串、将字符串转换成小写或大写、字符串匹配 8.子串判断、求子串、字符串的连接 9.[解析]a[5]表示字符串中的第6个字符,本题中a[5]为“我”。a[:5]表示取从第一个字符开始到下标为4的字符串,值为“人生苦短,”。AB选项错误。α[—5]表示从右往左数第5个字符,值为“y”。a[—5 :]表示从右往左数第5个字符开始到结束的字符串,值为“gthon”。 答案:C 10. [解析]字符串一般采用单引号、双引号或三引号加以界定。当使用单引号时,双引号可以作为字符串中的一部分,反之亦然;也可以使用反斜杠转义符输出单引号或双引号。 答案:D 【巩固提升】 1. [解析]该程序中语句“if i<“a” or i>“z”:;t=“””的功能是字符i为非小写字母时,变量t就清空。因此在“Epidemic”出现前,变量t中的内容为空。这样变量t中最后的内容为“Epidemic”的重新组合。语句t=i+t的功能就是将“Epidemic”进行逆向组合。 答案:A 2.[解析]a[4]的值为“ugly.”;b[4]的值为“t”; a[-4]的值为“is”;b[-4]的值为“g”。 答案:B 3.[解析]自定义函数fun()的功能是比较字符串a 和b的大小,并返回较大的字符串,因为“126”<“26”,故返回“26”。 答案:D 4.[解析]程序的功能是逆序提取字符串中的连续整数并求整数和,注意程序输出的是变量t的值。 答案:A 5.[解析]程序的功能是获取藏头诗。具体做法是先用“,”替换“。”,这样所有的分隔符均变成“,”,再用“,”将text分割成列表(注意最后一个列表元素为空串),并去列表元素的首字符,凭借成藏头诗。 答案:C 6.[解析]text[:6]=“It is”,text[6:]=“too old to learn.”,因为“never”两边都没有空格,故输出It is nevertoo old to learn.。 答案:C 7.[解析]continue语句的作用是终止本次循环,并忽略continue之后的所有语句,直接回到循环的顶端,提前进入下一次循环,故程序只输出包含在“aoeiu”中的字母。 答案:D 【链接高考】 1.[解析]程序的功能是将大小写字母互相转换,其他字符保持不变。 答案:D 2.[解析]该程序的功能是将字符串的第1,3,5,…个字符在各自的范畴内向后移动2个位置(即如果是大写字母、小写字母、数字,各自向后移动2个位置。注:每个范畴都看成一个圈)。最后将它们进行逆向连接。 答案:D 3.[解析]程序功能是将二进制数转换成十六进制数。按照从低位到高位的(从右往左)的顺序,每4位二进制数转换成1位十六进制数,不足4位则在高位补0。“110000010111010”补0的结果为“0110000010111010”,转换成十六进制数为60BA。 答案:A 4.[解析]产生回文串,先将原串复制到一个新的变量中,然后在新变量的后面依次连接上原串的最后1个字符,倒数第2个字符,……,一直到原串的第1个字符连接上为止。 答案:B 5.[解析]查找连续单个数值之和等于指定值的最长序列。本程序具有队列的思想,将当前数值累加到sum中后,sum值还没有超过指定值n,则将后续的数字的值加入;若sum的值超过指定值n,则将最先进来的数值减去;若sum的值等于指定值且长度超过原有的记录,则替换当前记录。 答案:(1)ch1=int(s[j]) (2)sum-=ch2 (3)len(st)<(j-i+1) 6.[解析]自定义函数show_code(text)的作用是依次生成并输出英文字符串text各字符对应的7位二进制数,n就是字符的ASCII码值,根据进制转换算法可知第①空答案为n//2;自定义函数encode(plain_code)的作用是将各字符对应的7位二进制数按规则进行加密处理,因为要先进行水平翻转,故num不是第j位上的二进制数,而是j的对称位的二进制数,则第②空答案为plain_code[i][6-j];最后将十进制数密文添加到列表secret_code中,并拼接成字符串返回,注意第③空答案不能写成s,因为不能直接把整数拼接成字符串。 答案:(1)44 62 (2)①n//2 ②plain_code[i][6-j] ③str(s) 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

3.1 字符串(分层作业)信息技术浙教版2019选择性必修1
1
3.1 字符串(分层作业)信息技术浙教版2019选择性必修1
2
3.1 字符串(分层作业)信息技术浙教版2019选择性必修1
3
所属专辑
相关资源
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。