一、单选题
1、人们所使用的手机上安装的App通常指的是( )。
A 一款操作系统
B 一款应用软件
C 一种通话设备
D 以上都不对
2、下列流程图的输出结果是 ( ) ?
A 9
B 7
C 5
D 11
3、下面有关 print() 函数的说法,错误的是 ( )。
A print() 函数的 sep 和 end 参数为带有默认值的命名关键字参数
B、
print() 函数可以输出多个表达式的值,其参数为变长参数
C、 如果 print() 函数同时使用 sep 和 end 参数,则要求 sep 在前 end 在后
D、
print() 函数可以输出多个不同数据类型表达式的值
4、下面Python代码执行后输出是 ( )。
A [1]
B [1, 2, 4]
C [1, 2, 4, 4]
D 触发异常
5、下面代码执行后输出是 ( )。
A 1, 2, 3
B 1, 2, 22
C 11, 11, 22
D 11, 11, 3
6、下面代码执行后输出是 ( )。
A [1, 2, 3]
B [1, 2, 3, 4]
C [4]
D None
7、下面Python代码执行后输出是( )。
A (1, 2, 3),(1, 2, 3)
B (1, 2, 3, 4),(1, 2, 3)
C (1, 2, 3),(1, 2, 3, 4)
D (1, 2, 3, 4),(1, 2, 3, 4)
8、下面Python代码执行后输出是( )。
A [2, 3, 7, 11, 15]
B [15, 11, 7, 3, 2]
C [11, 2, 3, 7, 15]
D None
9、上题 bubbleSort() 函数的时间复杂度是( )。
A O(n)
B O(n2)
C O(nlogn)
D O(1)
10、下面Python代码中的 dictA 存储为字典,key(键)为i和j的组合,value(值)为i*j,形如 {(1,1):1,(1,2):2} ,横线处应填上代码是( )。
A dict99[(i, j)]
B dict99[[i, j]]
C dict99(i, j)
D dict99{i, j}
11、下面Python代码中的 dictA 变量存储形如 {1: [1], 2: [1, 2], 3: [1, 3], 4: [1, 2, 4], 5: [1,5], 6: [1, 2, 3, 6]} 的数据,即1~99之间每个整数的因数(所有能被整除的正整数),横线处应填入是( )。
A、
[j for j in range(i) if i % j != 0]
B、
[j for j in range(1,i+1) if i % j == 0]
C、
[j for j in range(1,i+1) if i % j]
D、 [j for j in range(i) if i % j == 0]
12、要打开一个已经存在的图片文件并读取但不修改数据,则打开模式应该设定为( )。
A wb
B w+
C rb
D r+
13、下列Python代码执行时如果输入 3.14 ,将输出的是( )。
A 2#
B 1#4#
C 2#4#
D 2#3#4#
14、以下选项在Python中能输出 (1, 4, 9, 16, 25, 36, 49, 64, 81, 100) 的是( )。
A print(tuple(i**2 for i in range(10)))
B print(tuple([i*i for i in range(1,10+1)]))
C print(tuple(i*i for i in range(10+1)))
D print(tuple(map(lambda x:x**2,range(10))))
15、Python赋值语句是 lstA = [6, 7, 8, 9] ,删除值为8的元素,错误的语句是( )。
A lstA.remove(8)
B lstA.pop(2)
C del lstA[2]
D lstA.del[2]
二、判断题
16、我们常说的互联网(Internet)是一个覆盖全球的广域网络,它不属于任何一个国家。
A 正确
B 错误
17、我国第一台大型通用电子计算机使用的逻辑部件是晶体管。
A 正确
B 错误
18、Python的内置函数 sorted() 函数是稳定排序。
A 正确
B 错误
19、对包含N个元素列表(list)进行冒泡排序算法,其时间复杂度是 。
A 正确
B 错误
20、()+() 在Python中是合法的表达式,其值为 () 。
A 正确
B 错误
21、下面代码中的Nums.txt文本文件中含有0-9共计10个数字,分为两行存储,第1行为0-4,第2行为5-9,程序执行后将输出10。
A 正确
B 错误
22、Python文本文件读取函数 readlines() 能按行读取文本文件,且返回值为 list 类型。
A 正确
B 错误
23、下面的Python代码执行后最后一行将输出没有偶数的 lst 。
A 正确
B 错误
24、在与异常处理相关的关键字中, finally 所属内容不管是否发生异常都将会被执行。
A 正确
B 错误
25、global 关键字只能用于自定义函数内,其功能是允许在函数内修改全局变量的值。
A 正确
B 错误
三、实操题
26、进制转换
时间限制:1.0 s
内存限制:128.0 MB
问题描述
N进制数指的是逢N进一的计数制。例如,人们日常生活中大多使用十进制计数,而计算机底层则一般使用二进制。除此之外,八进制和十六进制在一些场合也是常用的计数制(十六进制中,一般使用字母 A 至 F 表示十至十五;本题中,十一进制到十五进制也是类似的)。
在本题中,我们将给出N个不同进制的数。你需要分别把它们转换成十进制数。
提示
对于任意一个L位K进制数,假设其最右边的数位为第0位,最左边的数位为第L-1位,我们只需要将其第i位的数码乘以权值Ki ,再将每位的结果相加,即可得到原K进制数对应的十进制数。下面是两个例子:
1. 八进制数 1362 对应的十进制数为1×83+3×82+6×81+2×80=754 ;
2. 十六进制数 3F0 对应的十进制数为 3×162+15×161+0×160=1008。
输入描述
输入的第一行为一个十进制表示的整数N。接下来N行,每行一个整数K,随后是一个空格,紧接着是一个K进制数,表示需要转换的数。保证所有 进制数均由数字和大写字母组成,且不以 0 开头。保证K进制数合法。
保证N≤1000;保证2≤K≤16
保证所有K进制数的位数不超过9。
输出描述
输出N行,每一个十进制数,表示对应K进制数的十进制数值。
特别提醒
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。
样例输入 1
2
8 1362
16 3F0
样例输出 1
754
1008
样例输入 2
2
2 11011
10 123456789
样例输出 2
27
123456789
参考答案:br />对于每一个输入的进制数,按照提示中的方法进行转换,得到对应的十进制数。
27、变长编码
时间限制:1.0 s
内存限制:128.0 MB
问题描述
小明刚刚学习了三种整数编码方式:原码、反码、补码,并了解到计算机存储整数通常使用补码。但他总是觉得,生活中很少用到231-1这么大的数,生活中常用的0~100这种数也同样需要用4个字节的补码表示,太浪费了些。
热爱学习的小明通过搜索,发现了一种正整数的变长编码方式。这种编码方式的规则如下:
1. 对于给定的正整数,首先将其表达为二进制形式。例如,(0) {10}=(0) {2},(926) {10}=(1110011110) {2} 。
2. 将二进制数从低位到高位切分成每组7bit,不足 bit的在高位用0填补。例如, (0) {2}变为0000000的一组,(1110011110) {2}变为0011110和0000111的两组。
3. 由代表低位的组开始,为其加入最高位。如果这组是最后一组,则在最高位填上0,否则在最高位填上1。于是,0的变长编码为00000000一个字节,926的变长编码为10011110和00000111两个字节。
这种编码方式可以用更少的字节表达比较小的数,也可以用很多的字节表达非常大的数。例如,987654321012345678的二进制为(0001101 1011010 0110110 1001011 1110100 0100110 1001000 0010110 1001110) {2},于是它的变长编码为(十六进制表示) CE 96 C8 A6 F4 CB B6 DA 0D ,共9个字节。
你能通过编写程序,找到一个正整数的变长编码吗?
输入描述
输入第一行,包含一个正整数N。约定 0≤N≤1018。
输出描述
输出一行,输出N对应的变长编码的每个字节,每个字节均以2位十六进制表示(其中,A-F使用大写字母表示),两个字节间以空格分隔。
样例输入1
0
样例输出1
00
样例输入2
926
样例输出2
9E 07
样例输入3
987654321012345678
样例输出3
CE 96 C8 A6 F4 CB B6 DA 0D
参考答案:```#include
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!