资源简介 3.2Python语音程序设计一、选择题1.在一次比赛中,需要随机给10名选手各编一个0~9范围内的唯一序号,对应的Python程序段如下:_________________a,b=[0]*10,[False]*10i=0while i<=9:_________________if not b[r]:a[i]=r___________i=i+1print(a)则划线处的代码依次是( )① r=random.randint(0,10) ② b[r]=True ③import random④ b[i]=True ⑤from random import randint ⑥ r=random.randint(0,9)A.⑤①② B.⑤⑥④ C.③①④ D.③⑥②2.执行下列Python程序段后,变量x的值是( )x=2print(x+1)Print(x+2)A.2 B.3 C.4 D.53.已知a=5,b=6,则执行下列语句后,a和b的值分别是( )a=a+bb=a+bA.11;17 B.11;11 C.17;11 D.5;64.在Python语句中,”0x”表示十六进制,”0b”表示二进制,”0o”表示八进制,则print(0xA+0xB)的输出结果是( )A.0xA+0xB B.A+B C.0xA0xB D.215.下列选项中错误的赋值语句( )A.a,b=5,8 B.11=a+b C.a=b=9 D.a=a+b6.下面程序的运行结果是( )。>>> list1=[a,3,b,10]>>> del list1[1:3]>>> print(list1)A.[3, 10] B.[a, 10] C.[b, 10] D.[10]7.下面的Python代码实现了读入若干非负整数,统计其中奇数个数的功能。要想实现这一功能,应该在空格处填( )。li = map(int, input(). split())cnt=0for i in li: if ______ : cnt+=1print("奇数有{}个。". format(cnt))A.i%2==1 B.i%2 C.i//2==1 D.i/2==18.整型变量x存放了一个两位数,以下Python表达式中能正确求出x的数字之和的是( )。A.(x%10)+x//10 B.(x%10)//10+x//10C.(x/10)%10+x//10 D.(x%10)+x/109.执行下列语句,输出的结果是( )。x,y = 1, 2x, y = y, xprint(x, y)A.1 1 B.2 2 C.2 1 D.1 210.若变量 x 的值为“IT”,变量 y 的值为“技术”,则运行代码 print(x*2+y),输出的结果是( )A.IITT技术 B.IT2技术 C.IT*2+技术 D.ITIT技术11.执行下列语句,输出的结果是( )。a=[10,20,30,40,50,60,70,80,90]j = i = 1i+= j + j * 5print(a[i]+a[j])A.6 B.10 C.60 D.10012.表达式 30+2**5//3-2的值为( )。A.78 B.64 C.38 D.3413.执行下列语句,输出的结果是( )。a="student"b=a[-2:-5:-1]print(b)A."den" B."ned" C."ude" D."edu"14.Python表达式5%4/2*2的计算结果是( )。A.3 B.2 C.1 D.1.015.如aa=’345’,它的回文数是“34543”,以下表达式无法得到回文数的是( )A.new=aa+aa[-2:-4:-1] B.new=int(aa)*100+int(aa[1::-1])C.new=aa+aa[1]+aa[0] D.new=(aa[0]+aa[1]+aa[2])*216.以下语句的运行结果是( )pwd= {" Name" : "User", "Password" :"@YueKao108"}pwd["Name* ]=" Administrator"print(pwd["Name"][:4])A."User" B."resU" C."Admi" D."Admin"17.以下表达式中能够将变量ch中的单个大写英文字符转化为小写英文字符的是( )A.chr(ord(ch)+20) B.chr(ord(ch)-20)C.chr(ord(ch)+32) D.chr(ord(ch)-32)二、简答题18.请描述列表和元组之间的区别,以及分别在他们之间转型?19.read、readline和readlines之间的区别?20.根据输入的百分制分数,将其转换为等级制(优、良、中、及格、不及格)并输出。试卷第2页,共2页参考答案1.B【详解】本题主要考查Python程序的综合应用。使用随机函数需要首先导入随机函数库,故第一空填from random import randint。random()方法返回随机生成的一个实数,它在[0,1)范围内。random.randint(a,b)用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b,需要随机给10名选手各编一个0~9范围内的唯一序号,故第二空填 r=random.randint(0,9),此处确保生成唯一序号,将其标记为True,故第三空填b[i]=True,故本题选B选项。2.A【详解】本题主要考查Python程序的执行。print是输出函数,程序执行后,x的值没有发生变化,故本题选A选项。3.A【详解】本题主要考查Python语句执行。a=5,b=6,a=a+b=5+6=11,b=a+b=11+6=17,故本题选A选项。4.D【详解】本题主要考查Python语句。”0x”表示十六进制,故0xA=10,0xB=11,则print(0xA+0xB)的输出结果是21,故本题选D选项。5.B【详解】本题主要考查Python赋值语句。赋值语句是将“=”右边的表达式赋给左边的变量,语句11=a+b中,11是常量,是错误的赋值语句,故本题选B选项。6.B【详解】本题主要考查Python列表。列表下标是从0开始,del list1[1:3]表示删除列表1索引1、2的元素,即删除3和b,则删除后,list1=[a,10],故本题选B选项。7.A【详解】本题主要考查Python分支结构。统计其中奇数个数的功能,故if用来判断i是否为奇数,故填i%2==1,故本题选A选项。8.A【详解】本题主要考查Python表达式的运算。“/”是除运算,“//”是整除,整型变量x存放了一个两位数,则个位数是x%10,十位数是x//10,则求出x的数字之和的是(x%10)+x//10,故本题选A选项。9.C【详解】本题主要考查Python程序的执行。x=1,y=2,语句x, y = y, x实现交换x、y的值,交换后x=2,y=1,故本题选C选项。10.D【详解】本题主要考查Python字符串。变量 x 的值为“IT”,变量 y 的值为“技术”,则x*2+y=“ITIT技术”,故本题选D选项。11.D【详解】本题主要考查Python程序的执行。a=[10,20,30,40,50,60,70,80,90],j = i = 1,i=i+j+j*5=7,a[i]+a[j]=a[7]+a[1]=80+20=100,故输出的结果是100,故本题选D选项。12.C【详解】本题主要考查Python表达式的运算。30+2**5//3-2=30+32//3-2=30+10-2=38,故本题选C选项。13.B【详解】本题主要考查Python切片操作。切片操作基本表达式:object[start_index:end_index:step],step:正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。start_index:表示起始索引(包含该索引对应值),该参数省略时,表示从对象“端点”开始取值。end_index:表示终止索引(不包含该索引对应值),该参数省略时,表示一直取到数据“端点”。a="student",则b=a[-2:-5:-1]="ned",故本题选B选项。14.D【详解】本题主要考查Python表达式的运算。5%4/2*2=1/2*2=0.5*2=1.0,故本题选D选项。15.D【详解】本题主要考查Python表达式。切片操作基本表达式:object[start_index:end_index:step],step:正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。start_index:表示起始索引(包含该索引对应值),该参数省略时,表示从对象“端点”开始取值。end_index:表示终止索引(不包含该索引对应值),该参数省略时,表示一直取到数据“端点”。如aa=’345’,它的回文数是“34543”,选项A、B、C均可以得到“34543”,而选项D得到的是“345345”,故本题选D选项。16.C【详解】本题主要考查Python字典数据类型。切片操作基本表达式:object[start_index:end_index:step],step:正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。start_index:表示起始索引(包含该索引对应值),该参数省略时,表示从对象“端点”开始取值。end_index:表示终止索引(不包含该索引对应值),该参数省略时,表示一直取到数据“端点”。pwd["Name* ]=" Administrator",是将键Name的值替换为" Administrator",故pwd["Name"][:4]的值是"Admi",故本题选C选项。17.C【详解】本题主要考查Python表达式。ord函数将字符转换为ASCII码值,chr函数将ASCII码值转换为对应字符。小写字母比大写字母的ASCII码值大32,如“a”的ASCII码值是97,“A”的ASCII码值是65,故表达式chr(ord(ch)+32)可以将变量ch中的单个大写英文字符转化为小写英文字符,故本题选C选项。18.List 和tuple 区别 不同点: 1 定义的方式 list[] tuple() 2 是否可变 list可变 tuple() 不可变 3 list中有 append(),insert() 函数,tuple中没有相同点: 都是有序的集合(容器)List转为tuple:temp_list = [1,2,3,4,5]将temp_list进行强制转换:tuple(temp_list)tuple 转为list:temp_tuple = (1,2,3)方法类似,也是进行强制转换即可:list(temp_tuple)【详解】本题主要考查Python元组和类别的区别。List 和tuple 区别如下: 不同点: 1 定义的方式 list[] tuple() 2 是否可变 list可变 tuple() 不可变 3 list中有 append(),insert() 函数,tuple中没有相同点: 都是有序的集合(容器)List转为tuple:temp_list = [1,2,3,4,5]将temp_list进行强制转换:tuple(temp_list)tuple 转为list:temp_tuple = (1,2,3)方法类似,也是进行强制转换即可:list(temp_tuple)19.read 读取整个文件;readline 读取下一行,使用生成器方法;readlines 读取整个文件到一个迭代器以供我们遍历。【详解】本题主要考查Python文件读取函数。read、readline和readlines之间的区别是:read 读取整个文件;readline 读取下一行,使用生成器方法;readlines 读取整个文件到一个迭代器以供我们遍历。20.score=eval(input("请输入你的分数:"))if score>=90:print("等级为优")elif 80<=score<90:print("等级为良")elif 70<=score<80:print("等级为中")elif 60<=score<50:print("等级为及格")else:print("等级为不及格")【详解】本题主要考查分支条件结构知识点。输入用input函数,条件分支用if...elif,输出函数用print。答案第4页,共5页答案第5页,共5页 展开更多...... 收起↑ 资源预览