资源简介 数据结构大单元——python字符串基础练习班级 姓名1.已知变量s="2029106",则下列Python表达式计算结果中最大的是( )A.len(s) B.int(s[4]) C.int(s)%100 D.int(s)//10**62.print("ab"+"c"*2)的结果为( )A.abc2 B.ababc C.abcc D.abccab3.以下表达式的结果为True的是( )A."ab">"bc" B."ab"==a+b C.100<"99" D.0!=""4.在Python中运行c=list('school');print(len(c))的结果是( )A.6 B.5 C.4 D.35.下列表达式的值最大的是( )A.len("131")*4 B.ord("a")+int(chr(49)) C.max([19,60,31]) D.int("1"*3)6.下列Python 表达式中,值为False的是( )A.20//6<20/6 B."20"<"8" C.len("18%4")<23%5 D."02" not in "2034"7.能去除字符串中空格的方法是( )A.strip() B.upper() C.startswith() D.ljust()8.有如下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"9.下列关于字符串的基本操作,说法不正确的是( )A.已知字符串a=f"2**3+3%4={2**3+3%4}",则print(a)输出的结果为:2**3+3%4=11B.已知字符串a="&".join("感恩有你"),则print(a[2:5])输出的结果为:恩&有&C.已知a="客上天然居",则执行a+=a[::-1]后,a的值为"客上天然居居然天上客"D.已知a="noon",则执行a.split("o")的返回结果为["n","","n"]10.阅读并理解下面的python程序代码,程序运行结果是( )for i in ["语文","数学","英语"]:print(i,"是三个基础科目!")print("这些都是要认真学习的。")A.w是三个基础科目! B.语文是三个基础科目!w是三个基础科目! 数学是三个基础科目!w是三个基础科目! 英语是三个基础科目!这些都是要认真学习的。 这些都是要认真学习的。C.语文是三个基础科目! D.是三个基础科目!这些都是要认真学习的。 语文这些都是要认真学习的。数学是三个基础科目! 是三个基础科目!这些都是要认真学习的。 数学这些都是要认真学习的。英语是三个基础科目! 是三个基础科目!这些都是要认真学习的。 英语这些都是要认真学习的。11.有如下 python 程序段:n='15867239012's=0for x in n:if int(x)%2==0:continueelif s==14:breaks+=int(x)print(s)该程序段执行后,则输出结果为( )A.18 B.26 C.14 D.1712.有如下Python程序段:a=input()t,s=0,0for c in a[::-1]:if c.isdigit():t=t*10+int(c)else:s+=t ; t=0s+=tprint(s)当输入“123ABC456”时,程序输出的结果为( )A.579 B.975 C.456 D.12313.有如下 python 程序:from random import randints="" ; t=randint(0,25)for i in range(1,5):if i%2==1:s=s+chr((t+i)%26+65)else:s=s+chr((t+26-i)%26+65)print(s)执行上述程序后,输出的值不可能是( )A.TQVO B.MJOH C.CZEY D.YVAT14.有如下 python 程序段:s=input("请输入字符串 s:")k,ch=1,s[0]for i in range(1,len(s)):if k==0:ch=s[i]k=1else:if ch==s[i]:k+=1else:k-=1print(ch)若输入字符串 s 分别为以下内容,执行程序后,ch 的值不为”A”的是( )A.AAQAQ B.AQRQA C.QAQQA D.RQQAA15.有如下 Python 程序段:a=input('请输入一串英文字符串:') ; s="" ; sum=0for ch in a:s=s+str(ord(ch)-ord("A")+1)for ch in s:sum+=int(ch)print(sum)若输入字符串为‘ZBAX’(不包含前后引号),则输出结果为( )A.8 B.13 C.17 D.416.现有n个学生的 7 门学科成绩已存入一维数组 cj 中。某 python 程序代码段如下:cj=[96,83,91,85,86,77,88,98,93,94,82,96,87,99]def f(x):p=x*7;k=0for j in range(7):if cj[p+j]>cj[p+k]:k=jreturn(k)km="物化生政史地技" ; n=2;s=""for i in range(n):s+=km[f(i)]print(s)运行后,输出的结果为( )A.物技 B.地政 C.物生 D.技物17.有如下python程序段:(注:字母ASCII码>数字ASCII码,小写字母ASCII码>大写字母ASCII码)import randoms="olympicGames2021" ; ans="" ; i=0while it=int(random.random()*2)+1x=s[i] ; y=s[i+t]if x>y:ans+=xelse:ans+=yi=i+t+1print(ans)执行程序后,输出结果可能为( )A.oyies B.ymcms2 C.oypcms2 D.ypces118.有如下 python 程序段:from random import *s=''for i in range(1,4):k=int(random()*3+1)c=chr(96+k)if i%2==k%2:s=s+celse:s=c+sprint(s)若该段程序执行以后,s 的值不可能的是( )A.'abc' B.'bbc' C.'aab' D.'caa'19.有如下Python程序段:s="ABCDEF" ; ch=""for i in range(0,len(s)):a=int(input())b=(a+2)%6ch=ch+chr(ord(s[b])+32)print(ch)运行程序后,依次输入3、1、4、5、2、6,输出ch的值是( )A.cadebf B.fdabec C.aabbab D.ecfadb20.小明想要在数字串 s 中寻找连续数字之和为 k 的子串,若有多个子串符合,则输出第一个子串。例如,s="20220520",k=7,则符合要求的子串为"205"。实现该功能的部分 python 代码如下:i=0;j=0;sum=0for j in range(len(s)):sum+=int(s[j])while sum>k:c=s[i]①i+=1if sum==k:print("符合要求的子串为:",② )break划线①②处的语句是( )A.①sum=sum+int(c) ②s[i:j+1] B.①sum=sum-int(c) ②s[i-1:j+1]C.①sum=sum+int(c) ②s[i:j] D.①sum=sum-int(c) ②s[i:j+1]21.现有一段程序,它的功能是对字符串进行去重,并保持原顺序不变。例如,输入的字符串为“abcsnabschj”,执行程序后输出的字符串为“abcsnhj”。实现该算法的程序如下:s1=input("请输入字符串:")n=len(s1) ; p=[]for i in range(n):p.append(s1[i])for i in range(n):j=i+1while j<=n:if p[i]==p[j]:for k in ①②n-=1 ; j-=1j+=1s=""for i in range(n+1):s+=p[i]print(s)上述程序空格出应填入的程序代码为( )A.①range(j+1,n+1) ②p[k+1]=p[k]B.①range(j+1,n+1) ②p[k]=p[k-1]C.①range(j+1, n) ②p[k-1]=p[k]D.①range(j+1, n) ②p[k]=p[k+1]答案1——5:ACDAD6——10:CABBB11——15:BBCCC16——20:ACCBD21:C 展开更多...... 收起↑ 资源预览