现有一组初始记录无序的数据“5,8,6,3,9,2”,使用Python冒泡排序算法,按从小到大的顺序排列,第一轮排序的结果为?( )
5,6,3,8,9,2
5,6,3,8,2,9
5,6,8,3,2,9
5,8,3,6,9,2
Python列表l=[9,2,8,6,3,4],采用选择排序进行升序排序,第二轮排序后的结果是?( )
2,3,4,6,8,9
2,3,4,6,9,8
2,3,8,6,4,9
2,3,8,6,9,4
经典的韩信点兵问题出自《孙子算经》,译文为:有一些不清楚数量的物品,如果三个为一组的数剩下两个,如果五个为一组的数剩下三个,如果七个为一组的数剩下两个,问这些物品共有多少个。解决此问题可以用哪种算法?( )
解析算法
枚举算法
排序算法
查找算法
运行下列python程序段:
try: a=6 b = int(input('输入一个数')) m=a/b print('商是:',m) except: print('输入错误!') else: print('正确!') finally: print('程序结束!')
下面说法正确的是?( )
当输入0时程序出错无法运行
当输入1时,输出结果为:商是:6
当输入6时,输出结果为:商是:1.0 正确
不管输入什么内容都会输出:程序结束
Python的异常处理try....except...else...finally机制中,以下表述哪项是错误的?( )
当碰到错误语句时,try代码块的剩余代码将会被忽略,执行except语句块
当try语句块正确时,try代码块执行完毕,不执行else语句块,执行finally语句
不管try代码块正确与否,finally代码都要执行
except程序段中语句可能会被执行,也可能不会被执行
十进制数25,转化为二进制数为?( )
10011
11001
11000
11011
八进制数30,转化为十进制数为?( )
24
30
64
192
十进制数90,转化为十六进制数为?( )
50
1A
A5
5A
下面转化结果与十六进制数3C不相等的是?( )
十进制数60
八进制数74
二进制数111110
hex(60)
用python存储某餐馆菜单信息如下:
menu=['花雕醉湖蟹','三鲜汤','西湖醋鱼','酸辣土豆丝'] price=[78,36,118,28] for i in range(len(menu)): print(menu[i]+':'+str(price[i]))
关于该段程序,下列说法正确的是?( )
menu和price组成了一个二维数组
该段程序一共输出4行结果
若menu和price的元素数量不相同,程序也不受影响
程序中len(menu)改成len(price),其他不变,结果将不一样
有如下程序:
color=['红','橙','黄','绿','青','蓝','紫'] f=open('color.csv','w') f.write(';'.join(color)+'\n') f.close()
下列说法正确的是?( )
这段程序没有输出
该列表中的元素是二维数据元素
f.close()语句可有可无
color.csv的结果内容是:红;橙;黄;绿;青;蓝;紫
已知二维列表gz中存储了某单位部门部分人员的工资数据,如下所示:gz=[['a1','李明',6200],['a2','吴海',5600],['a3','殷小飞',6536]],那么想要查询'殷小飞'的工资情况可使用?( )
gz(3)
gz[3]
gz(2,2)
gz[2][2]
有关数据处理,下列说法正确的是?( )
一维数据通常采用列表形式来表示
二维数据只能通过CSV文件进行存储处理
列表不能表示二维数据
存储在列表中的数据,不可以写入到CSV文件中
观察下列程序代码并思考回答:
word=['I','really','like','the','cat','!'] f=open('words.csv','w') f.write(' '.join(word)) f.close()
有关该段程序,下列说法正确的是?( )
'words.csv'文件需事先创建好,否则open()语句会出错
变量f表示该CSV文件对象
最终f对象中的内容是:I.really.like.the.cat.!
程序的主要目的是写入内容,因此f.close()最好不写
下面python代码中,运行结果不等于9,会出错的,是哪项?( )
sum([3,2,1],int('3'))
sum([3,2,1],max(1,2,3))
sum([3,2,1],[3])
sum([1,2,3,2,1])
小明想得到整数9除以2的商和余数,所以他写下了表达式: x = divmod(9, 2)
请问,表达式中的 x 是什么类型?( )
浮点数
整数
列表
元组
下面两行Python代码运行的结果是?( )
x=['a','b','c','d']
print(list(enumerate(x)) )
( {'a','b','c','d'} )
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]
['a','b','c','d']
(['a','b','c','d'] )
min()函数用于获取参数中的最小值,如果 a = min('654') ,请问下面表达式中,正确的是?( )
print(max(chr(a),3,2))
print(max(bin(a),3,2))
print(max(float(a),3,2))
print(max(hex(a),3,2))
小明编写了如下3行代码,请问代码运行后print()打印出的结果是?( )
a = set('大家好我是小明') b = set('你好我是大明') print(a & b)
{'大', '好', '我', '是', '明'}
{'大','家','好','我','是','小','明','你','好','我','是','大','明'}
{'家', '小', '你'}
{'好', '我', '是', '大', '明', '家', '小', '你'}
如下3行Python代码,运行之后打印出来的结果是?( )
b = (6,9,2,7,5) b = sorted(b,reverse=1) print(b)
[2, 5, 6, 7, 9]
(2, 5, 6, 7, 9)
(9, 7, 6, 5, 2)
[9, 7, 6, 5, 2]
执行下面Python代码:
print(bool(4)+3)
结果应该是?( )
会报错
6
4
7
小明编写了如下4行Python代码,请问,代码中两次print()函数打印的结果,是什么状态?( )
a = [9,3,7,5,8,4] print(sorted(a)) a.sort() print(a)
第1次print(sorted(a)),a会降序排列;第2次print(a),a也会降序排列。
第1次print(sorted(a)),a会降序排列;第2次print(a),a会升序排列。
第1次print(sorted(a)),a会升序排列;第2次print(a),a也会升序排列。
第1次print(sorted(a)),a会升序排列;第2次print(a),a会降序排列。
有如下两行代码,请问Python代码运行之后,打印出的结果是?( )
a = [1,2,3,4,3,2,3,4,2,1,4]
print(list(set(a)))
[1,2,3,4,3,2,3,4,2,1,4]
{[1,2,3,4,3,2,3,4,2,1,4]}
{[1,2,3,4]}
[1,2,3,4]
下列四个Python表达式,值最大的选项是?( )
round(5.2)
pow(1,8)
max(2,3,4,5,6)
len([2,3,4,5,6])
下面两行Python代码执行结果是?( )
a = '0123456789'
print(min(a)+max(a))
9
0
09
a为字符串,不能获取大小值,代码会报错!
bin(10)的运行结果是'0b1010';int("1101",2)的运行结果是13。( )
oct(10)和hex(10)的结果相等。( )
关于文件的读取,readline()表示每次读取文件的一行,而使用read()和readlines()的结果是相同的。( )
向CSV文件中写入数据时,write()函数只能写入一行,而writelines()可以写入多行。( )
有如下程序代码:
import csv with open ("fruits.csv",'w')as f: wrt=csv.writer(f) wrt.writerows(['苹果','香蕉','西瓜','哈密瓜','桔子','香梨'])
这段代码中,writerows()实现了向'fruits.csv'进行多行输入。( )
请仔细阅读下面6行代码,请判断,代码运行后打印的结果应该是No,对吗?( )
a = all([1,2,3]) b = any([3,2,1]) if a == b : print('Yes') else: print('No')
max()函数用于获取参数列表中的最大值,所以表达式 max(['1', '2' , '3'])与表达式max([1, 2, 3])运行结果是相同的。请判断是否正确?( )
有如下所示6行Python代码,变量a与变量b都有5个元素。代码中两次print()打印出的结果可能不会一样!请判断对否?( )
a = {'1','2','3','4','5'} b = ('1','2','3','4','5') for x in a: print(x) for i in b: print(i)
执行:print(any(['小陈', 'False', '小李', 'True'])) 得到的结果是:False 。 请判断是否正确?( )
运行下列程序段时输入"good",则输出结果是:ok 。( )
try: x=eval(input()) print(x) except NameError: print('ok')
字母去重排序
在一列表中产生n个大写字母,删除其中重复字母,并按照A到Z顺序排列输出。同时输出删除字母个数。
例如输入 5 随机产生原始字母:[ "D","H","K","E","H"] 输出:去重后字母排序:["D","E","H","K"] 输出:共删除字母个数:1个。
请编写Python程序实现上述功能,或补全代码。
import random #导入随机数模块 maxn=int(input("输入生成大写字母个数")) a=[ ] for i in range(maxn): c=random.randint(1,26)#随机产生1-26之间的整数 numb=chr(64+c) ① print("随机产生原始字母:",a) m,n=0,maxn while m<n: i=n-1 while ② : i=i-1 if i==m: ③ else: a.remove(a[i]) n=n-1 for i in range(n): for j in range(len(a)-1,i,-1): if a[j]<a[j-1]: ④ print("去重后字母排序:",a) print("共删除字母个数:", ⑤ ,"个")
植树问题:
如下图所示,在“植树.csv”中记录着2个班级多次植树的信息(第一列为班级名,第二列为本次植树的数量),输出每个班级植树的总数,请你补全Python代码。
import csv with open("/data/植树.csv") as f: h=list( ① ) s1=0 s2=0 for i in range(len(h)): if int(h[i][0])==1: s1=s1+int(h[i][1]) if int(h[i][0])==2: s2=s2+ ② print(s1,s2)
输出:
368 362
合作小组 :
班里有35位同学,新来的王老师想以随机组合的方式给同学们组建合作小组促进学习,已知同学们的学号范围是1~35号,王老师编写了以下程序来生成5个合作小组,如下图所示,请你帮忙补全Python代码:
import random#导入随机数模块 numbers=35*[0]#创建35个元素值均为0的列表 flags=35*[False]#创建35个元素值均为False的列表 ① while i<=34: n=random.randint(1,35)#随机产生1-35之间的整数 if not flags[n-1]: ② numbers[i]= ③ i+=1 for i in range(5): print("第"+str( ④ )+"组:",numbers[i*7:7*(i+1)])