资源简介 专题4 Python语言基础知识点一 Python表达式1.下列表达式2023%400%10**2//2的计算结果是( )A.23 B.11C.0 D.42.Python表达式len(″python20221″)+15//2**3*3+int(-4.99)的值为( )A.9 B.10C.12 D.133.下列Python表达式中值最大的是( )A.ord(″A″)% round(2.6)B.6//2+(-2)%6C.int(″6″+″2″)/abs(-10)D.len(″1234″)*24.下列表达式中,值为True的是( )A.″Xj″ in ″Xuejun″B.abs(int(-2.9))==len(″xjx″)C.″xj″>″XJ″ and 5**2>2**5D.″Xuejun″[:3]==″Xue″5.下列表达式中,值为True的是( )A.not abs(-12.7)>12B.3**2<=2**3C.round(3.1415,3)==3.141 and ″2″ in ″3+27″D.3!=1+2 or 5>=56.下列Python表达式值为True的是( )A.″average″[3:5]==″er″B.30%7+10//2**3==3C.abs(int(-4.95))==5D.4 in range(4)7.下列Python表达式的值为数值 5 的是( )A.int(max(″5″,″11″,″100″))B.len([1,2,3,5])C.str(5)D.abs(-15/3)知识点二 数据类型之字符串和列表1.已知变量s=″2022py″,则表达式s[2]*2+s[-2::]的值是( )A.″22p″ B.″4py″C.″22py″ D.″4p″2.若a=″20230678″,b=[″2″,″4″,″6″],则表达式a[5:]+b[2:1:-1]*3的值是( )A.″24″ B.″696″C.″678666″ D.″0678444″3.若n='PythonPythonPython',则表达式n[3::3]的值为( )A.'hPhPh' B.'pyt'C.'tntntn' D.'nhynhynhy'4.有如下Python程序段:cy=[″取长补短″,″一言为定″,″张灯结彩″,″坐井观天″,″风平浪静″,″张三李四″]print(cy[2:5][1][3])程序运行后,输出的结果是( )A.[″张灯结彩″,″坐井观天″,″风平浪静″]B.[″坐井观天″]C.彩D.天知识点三 字典1.有如下Python程序段:dic={″apple″:5,″cake″:10,″computer″:3000}lis=[[1,2,3],″apple″,″computer″,[8,0,9]]ans=0for i in lis:if len(i)<=3:ans+=i[-1]elif i in dic:ans+=dic[i]print(ans)执行该程序段后,输出结果是( )A.3005 B.12C.3014 D.30172.有如下Python程序段:dic={″苹果″:[9.98,12.98],″香梨″:[8.98,16.98]}dic[″苹果″][1]=15.98dic[″葡萄″]=[12.58,13.98]print(dic)该程序运行后输出的结果为( )A.{″苹果″:[15.98,12.98],″香梨″:[8.98,16.98]}B.{″苹果″:[9.98,15.98],″香梨″:[8.98,16.98]}C.{″苹果″:[15.98,12.98],″香梨″:[8.98,16.98],″葡萄″:[12.58,13.98]}D.{″苹果″:[9.98,15.98],″香梨″:[8.98,16.98],″葡萄″:[12.58,13.98]}3.有如下Python程序段:li=[[″a″,10],[″b″,20],[″c″,30]]dic={}for i in range(len(li)):dic[li[i][0]]=li[i][1]print(dic)运行该段程序后,输出内容为( )A.{'a',10,'b',20,'c',30}B.{10,20,30}C.{['a','b','c'],[10,20,30]}D.{'a':10,'b':20,'C':30}4.有如下Python程序段:f=[″begin″,″burn″,″dig″,″Dairy″,″delay″,″hit″,″cabbage″,″hang″]dic={}for line in f:if line[0] in dic:dic[line[0]]+=1else:dic[line[0]]=1print(dic)运行程序后,下列说法正确的是( )A.字典dic中的键值对共有4对B.dic[″Dairy″]的值为3C.字典dic的作用是统计每个单词出现的次数D.字典dic中值为2的键值对有3对5.某Python程序如下:s=″san xian lian meng.″dic={}for i in s:if i in dic:dic[i]+=1else:dic[i]=1在输出的字典dic中,dic[″n″]的值为( )A.1 B.2 C.3 D.46.使用字典Oil_dic={″92号″:8.73,″95号″:9.14}存储油价信息,经核实后92号油价是8.61,正确修改的语句是( )A.Oil_dic[0]=8.61B.Oil_d[92号]=8.61C.Oil_dic[1]=8.61D.Oil_dic[″92号″]=8.617.字典data中存储了如下数据:{″课程″:[″舞蹈″,″Python″,″数学″],″地点″:[″舞蹈房″,″计算机房″,″教室″],″时长″:[″60分钟″,″40分钟″,″90分钟″]},若将″数学″课的时长调整为″70分钟″,以下操作可行的是( )A.data[2][2]=″70分钟″B.data[″时长″][-1]=″70分钟″C.data[-1][2]=″70分钟″D.data[″时长″][3]=″70分钟″8.已知字典dic存放学生的姓名和对应的语数英成绩,dic={″姓名″:″小红″,″语文″:101,″数学″:118,″英语″:132},现要在字典dic中增加一个键为″技术″,值为″97″的元素,下列语句正确的是( )A.dic[技术]=97B.dic[″技术″]=[″技术″:97]C.dic[″技术″]=97D.dic[″技术″]={97}9.有如下Python程序段:s=″Python″dic={″t″:1,″y″:2,″o″:3,″P″:4,″p″:5,″h″:6,″n″:7}list=[3,7,1,6,3,9,2,6]sum=0for ch in s:sum+=list[dic[ch]]print (sum)执行该程序段后,变量sum的值为( )A.23 B.25 C.31 D.3710.有如下Python程序:dic={″2″:″ABC″,″3″:″DEF″,″4″:″GHI″,″5″:″JKL″,″6″:″MNO″,″7″:″PQRS″,″8″:″TUV″,″9″:″WXYZ″}s=input()m=″″t=1for i in range(1,len(s)):if s[i]==s[i-1]:t+=1elif s[i]==″#″:m=m+dic[s[i-1]][t-1]t=1print(m)执行该程序后输出“GET”,则输入的内容可能是( )A.5#44#9# B.4#33#8#C.3#22#7# D.4#3#8#11.某化合物是由C、H和O三种元素组成,可用通式CiHjOk来表示,其中i,j,k是1到9之间的整数。某元素的质量分数计算方法=(该元素相对原子质量*该元素原子个数)/该化合物的相对分子质量。A=input('请输入化合物:') #如输入C2H4O2dic={'C':12,'H':1,'O':16}sum_total=0sum=dic[A[0]]*int(A[1])for i in ①________:sum_total+=②________print('C元素的质量分数:',sum/sum_total)划线处应填入的代码为( )A.range(2,len(A),2)dic[A[i]]*A[i+1]B.range(0,len(A),2)dic[A[i-1]]*int(A[i])C.range(0,len(A),1)dic[A[i]]*int(A[i+1])D.range(0,len(A),2)dic[A[i]]*int(A[i+1])12.有如下Python程序段:s=input(″请输入:″)num={}for i in s:if i not in num:num[i]=0num[i]+=1flag=Falsefor i in s:if num[i]==1:print(i)flag=Truebreakif not flag:print(″err″)若输入“go for it! just do it”运行该程序段,输出显示的结果为( )A.g B.oC.t D.err13.对于二维平面上的两个点,设坐标分别为(x1,y1)和(x2,y2),当满足x2>x1且y2>y1时,则称这两个点的y值随x增加而单调上升。如图中有编号为1~5的5个坐标点,其中1,2这2个点是单调上升,3,4,5这3个点单调上升,可得最长的连续单调上升序列的长度为3。以下Python程序用于计算最长连续单调上升序列的长度:dot={1:[1,2],2:[2,3],3:[3,2],4:[4,3],5:[5,4]}tmp=1;ans=0for i in range(2,6):if ①________:tmp+=1if tmp>ans: ans=tmpelse: tmp=1print(ans)代码中空白处应依次填入语句是( )A.dot[i][0]>dot[i-1][0] and dot[i][1]>dot[i-1][1]B.dot[i][1]>dot[i-1][1] and dot[i][2]>dot[i-1][2]C.dot[i+1][0]>dot[i][0] and dot[i+1][1]>dot[i][1]D.dot[i+1][1]>dot[i][1] and dot[i+1][2]>dot[i][2]14.学考成绩与学考等级折算方法如下:“A”等折算成10分,“B”等折算成9分,“C”等折算成7分,“D”等折算成4分。现编写一个能实现将学考等级折算成相应分数的Python程序,请回答下列问题:(1)若输入″aaabbaac″,该程序________(填:能/不能)计算出相应的折算成绩;(2)请在程序划线处填上合适的代码。level=input(″请输入各门功课的学考等级:″)dic={″A″:10,″B″:9,″C″:7,″D″:4}score=0for i in range(len(level)):score=score+①________print(″你的学考成绩折算为:″+②________)知识点四 控制结构1.某商场推出″每满100减20,每满200减50,可以累计上不封顶″的优惠促销活动,用Python语言实现金额计算,设s为购买商品的原价,t为可优惠金额,下列选项正确的是( )A.t=s//200*50if s%200>=100:t=t+20B.t=s//100*20if s//200>0:t+=s//200*50C.if s>=200:t=s//200*50else:t=s//100*20D.if s>=100:t=t//100*20else:t=t//200*502.某停车场的收费标准为“30分钟内(含)免费,3小时内(含)5元,超过3小时每增加1小时加收1元,停车不足1小时的按1小时计算。”已知停车时长为t分钟,则下列Python程序段中不能正确计算停车费m的是( )A.if t<=30:m=0elif t<=3*60:m=5else:m=5+(t-3*60+59)//60B.if t>30:m=5if t>3*60:m=5+(t-3*60+59)//60else:m=0C.m=5if t>3*60:m=5+(t-3*60+59)//60elif t<=30:m=0D.m=0if t>3*60:m=5+(t-3*60+59)//60if t>30:m=53.有如下Python程序:a=[82,15,36,28,63,90,10,71]m=k=0for i in range(len(a)):n=(a[i]//10+a[i] % 10) % 10if n>m:m=nk=iprint(k,m)运行程序,输出结果是( )A.0 10 B.5 90 C.2 9 D.4 94.有如下Python程序段:a=[0]*6b=[75,88,91,88,99,80]for i in range(5):for j in range(i+1,6):if b[j]>b[i]: a[i]+=1else: a[j]+=1print(a)该程序段运行后,列表a的值为( )A.[5,3,1,2,0,4] B.[5,2,1,3,0,4]C.[0,3,4,2,5,1] D.[6,4,2,3,1,5]5.有如下Python程序段:a=[1,5,9,2,6,8,3,4,7]n=0;flag=Truefor i in range(len(a)-1):if a[i]n+=1;flag=Falseelif a[i]>a[i+1] and flag==False:n-=1;flag=Trueprint(n)执行上述程序段后,输出的值为( )A.2 B.0 C.-1 D.16.有如下Python程序段:s=input(″输入字符串:″)n=len(s)i,j=0,n-1result=″″while i=n//2:if s[i]>s[j]:result+=s[i];j-=1elif s[i]result+=s[j];i+=1else:i+=1;j-=1print(result)执行该程序段,分别输入下列选项中的字符串,输出结果不为“555”的是( )A.″51234″ B.″12535″C.″54321″ D.″55123″7.某Python程序如下:s=input(″请输入字符串:″)ans=″″a=[1,2,3]for i in range(len(s)):x=s[i]key=a[i%3]if ″A″<=s[i]<=″Z″: ans=ans+chr((ord(x)-65+key)%26+65)else: ans=ans+xprint(ans)执行该程序后,输入″A1b2D3″输出的结果为( )A.2b1BF B.B1b2F3 C.B3e3F6 D.6F3e3B8.有如下Python程序段:list=[2,1,3,4,5,7,12,14,26,37,63]c=0for i in range(2,11,2):if list[i-2]+list[i-1]==list[i]:c+=1print(c)该程序段运行结果为( )A.2 B.4 C.6 D.89.如果正整数n各个数位上的数字和是3的倍数,那么说明这个数能被3整除。利用Python编写如下程序段:n=int(input(″请输入一个正整数:″))s=0;t=0while n>0:if s%3==0:print(″能被 3 整除″)else:print(″不能被 3 整除″)方框中的代码由以下三部分组成:①n=n//10 ②t=n%10 ③s=s+t下列选项中,代码顺序正确的是( )A.①②③ B.③②①C.③①② D.②③①专题4 Python语言基础知识点一1.B [优先级最高为10**2=100,因此表达式为2023%400%100//2=23%100//2=23//2=11。]2.B [len(″python20221″)=11,15//2**3*3=3,因此11+3-4=10。]3.D [ord(″A″)%round(2.6)=2,B选项值为7,C选项值为6.2,D选项值为8。]4.D [B选项abs(int(-2.9))=2,C选项5**2>2**5即25>32,值为False。]5.D [A选项abs(-12.7)=12.7,因此值为False。B选项9<=8,值为False。C选项round(3.1415,3)=3.142。]6.B [D选项range(4)值为0,1,2,3,该序列中没有4。]7.A [A选项max(″5″,″11″,″100″)=″5″,因此int(″5″)=5。]知识点二1.C [s[2]*2=″2″*2=″22″,s[-2::]=″py″。]2.C [a[5:]=″678″,b[2:1:-1]=″6″,表达式a[5:]+b[2:1:-1]*3的值″678″+″6″*3=″678666″。]3.A [n[3::3]指的是在n中索引位置3开始,每隔3个位置取一个字符。]4.D [cy[2:5]=[″张灯结彩″,″坐井观天″,″风平浪静″],cy[2:5][1]=″坐井观天″。]知识点三1.D [遍历列表lis,如果其中元素长度小于等于3,则累加最后一个元素,如果该元素是字典dic的键,则累加该键对应的值。]2.D [将dic[″苹果″][1]原12.98修改为15.98,增加一个名为″葡萄″的键,值为[12.58,13.98]。]3.D [遍历li数组,在dic字典中依次新建3个键″a″,″b″,″c″,其对应的值分别为10,20,30。]4.D [遍历列表f,如果单词存在于字典dic中,将其对应的值增加,否则新建一个键,值为1。dic的内容为{'b':2,'d':2,'D':1,'h':2,'c':1}。]5.D [统计字母出现的次数。]6.D [字典的访问和修改只能通过"键”来访问,字典没有索引。]7.B [″数学″是″课程″键对应的第3个值,其时长存储在″时长″键第3个,即索引第2个data[″时长″][2]。]8.C [″技术″是字符串类型,其值为97。]9.B [遍历字符串s,将每个字母作为键,在字典中找到相对应的值,现在list列表对应位置值进行累加。]10.B [从“GET”在字典中的键来看,分别是4,3,8,“E”是值索引为1,因此将和变量t有关。]11.D [本题考查字典的应用。C、H和O三种元素在通式CiHjOk的0、2、4位置,排除选项AC。该元素相对原子质量*该元素原子个数,A[i]和A[i+1]分别表示原子质量和原子个数,他们对应的值在dic字典中。]12.A [本题考查字典的应用。第1个循环的功能是遍历字符串s,统计字母的个数。第二个循环的功能是输出第1个字母个数为1的键值,并结束循环,若没有1个字母的情况,输出″err″。]13.A [本题考查字典应用。每个数据点的坐标以键值对的形式存储在字典中,变量i的初值为2,因此须与i-1进行比较。]14.(1)不能 (2)①dic[level[i]] ②str(score)解析 (1)字母″abc″在字典中找不到对应的键,取不出得分。(2)①遍历level字符串,将字母level[i]作为键,在字典中查找相应的得分并进行累加。②输出最后得分。知识点四1.A [表达式s//200表示满200的数量,若s大于等于200,则优惠的金额为s//200*50。D选项不能判断大于等于200的情况。]2.D [D选项是两个选择结构,将会依次执行两个结构。]3.C [本题考查最值查找。n是一个数的个位数和十位数两数之和,将和除10后的余数。最大值为3+6=9,其索引位置为2。]4.B [遍历数组b前5个数,每个数将依次和他后面的数进行比较,若后面的数比他大,则在数组a对应索引加1,否则将对j对应索引加1,程序功能统计数组b中比他大的数的个数。]5.D [a[i]6.B [本题考查字符串的操作。该程序段的作用是将字符串s中左半部分与右半部分按照从大到小的顺序交替排列,生成一个新的字符串result。输入s字符串为12535时,输出结果为55。]7.B [表达式chr((ord(x)-65+key)%26+65)的功能是将大写字母x循环后移key个位置,而key只有3个值,不够时可以循环使用。如果是数字或小写字母直接相连。]8.B [本题考查数组元素的遍历。从索引号为2的数组元素开始,统计当前元素是否是前面2个元素之和的个数。]9.D [表达式n%10的功能计算n的个位数,n//10的功能是去除个位数,因此①在②之后,③在②之后。] 展开更多...... 收起↑ 资源预览