合作小组
班里有35位同学,新来的王老师想以随机组合的方式给同学们组建合作小组促进学习,已知同学们的学号范围是1~35号,王老师编写了以下程序来生成5个合作小组,如下图所示,请你帮忙补全代码:
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)])
植树问题
如下图所示,在“植树.csv”中记录着2个班级多次植树的信息(第一列为班级名,第二列为本次植树的数量),输出每个班级植树的总数,请你补全代码。
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
字母去重排序
在一列表中产生n个大写字母,删除其中重复字母,并按照A到Z顺序排列输出。同时输出删除字母个数。
例如输入 5 随机产生原始字母:[ "D","H","K","E","H"] 输出:去重后字母排序:["D","E","H","K"] 输出:共删除字母个数:1个。
请编写程序实现上述功能,或补全代码。
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("共删除字母个数:", ⑤ ,"个")
小明编写了如下3行代码,请问代码运行后print()打印出的结果是?( )
a = set('大家好我是小明')
b = set('你好我是大明')
print(a & b)
{'大', '好', '我', '是', '明'}
{'大','家','好','我','是','小','明','你','好','我','是','大','明'}
{'家', '小', '你'}
{'好', '我', '是', '大', '明', '家', '小', '你'}
下列四个表达式,值最大的选项是?( )
round(5.2)
pow(1,8)
max(2,3,4,5,6)
len([2,3,4,5,6])
小明想得到整数9除以2的商和余数,所以他写下了表达式: x = divmod(9, 2)请问,表达式中的 x 是什么类型?( )
浮点数
整数
列表
元组
八进制数30,转化为十进制数为?( )
24
30
64
192
如下3行代码,运行之后打印出来的结果是?( )
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]
小明编写了如下4行代码,请问,代码中两次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会降序排列。
十进制数90,转化为十六进制数为?( )
50
1A
A5
5A
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))
有关数据处理,下列说法正确的是?( )
一维数据通常采用列表形式来表示
二维数据只能通过CSV文件进行存储处理
列表不能表示二维数据
存储在列表中的数据,不可以写入到CSV文件中
十进制数25,转化为二进制数为?( )
10011
11001
11000
11011
现有一组初始记录无序的数据“5,8,6,3,9,2”,使用冒泡排序算法,按从小到大的顺序排列,第一轮排序的结果为?( )
5,6,3,8,9,2
5,6,3,8,2,9
5,6,8,3,2,9
5,8,3,6,9,2
下面代码中,运行结果不等于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])
有如下程序:
color=['红','橙','黄','绿','青','蓝','紫']
f=open('color.csv','w')
f.write(';'.join(color)+'\n')
f.close()
下列说法正确的是?( )
这段程序没有输出
color列表不可以理解成一个一维数组
f.close()语句可有可无
color.csv的结果内容是:红;橙;黄;绿;青;蓝;紫
运行下列程序段:
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程序段中语句可能会被执行,也可能不会被执行
下面转化结果与十六进制数3C不相等的是?( )
十进制数60
八进制数74
二进制数111110
hex(60)
下面两行代码运行的结果是?( )
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'] )
观察下列程序代码并思考回答:
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()最好不写
列表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
已知二维列表gz中存储了某单位部门部分人员的工资数据,如下所示:gz=[['a1','李明',6200],['a2','吴海',5600],['a3','殷小飞',6536]],那么想要查询'殷小飞'的工资情况可使用?( )
gz(3)
gz[3]
gz(2,2)
gz[2][2]
下面两行代码执行结果是?( )
a = '0123456789'
print(min(a)+max(a))
9
0
09
a为字符串,不能获取大小值,代码会报错!
用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),其他不变,结果将不一样
经典的韩信点兵问题出自《孙子算经》,译文为:有一些不清楚数量的物品,如果三个为一组的数剩下两个,如果五个为一组的数剩下三个,如果七个为一组的数剩下两个,问这些物品共有多少个。解决此问题可以用哪种算法?( )
解析算法
枚举算法
排序算法
查找算法
执行下面代码:
print(bool(4)+3)
结果应该是?( )
会报错!
6
4
7
有如下两行代码,请问代码运行之后,打印出的结果是?( )
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]
运行下列程序段时输入"good",则输出结果是:ok 。( )
try:
x=eval(input())
print(x)
except NameError:
print('ok')
正确
错误
关于文件的读取,readline()表示每次读取文件的一行,而使用read()和readlines()的结果是相同的。( )
正确
错误
max()函数用于获取参数列表中的最大值,所以表达式
max(['1', '2' , '3'])与表达式max([1, 2, 3])运行结果是相同的。
请判断是否正确?( )
正确
错误
向CSV文件中写入数据时,write()函数只能写入一行,而writelines()可以写入多行。( )
正确
错误
有如下程序代码:
import csv
with open ("fruits.csv",'w')as f:
wrt=csv.writer(f)
wrt.writerows(['苹果','香蕉','西瓜','哈密瓜','桔子','香梨'])
这段代码中,writerows()实现了向'fruits.csv'进行多行输入。( )
正确
错误
执行:print(any(['小陈', 'False', '小李', 'True'])) 得到的结果是:False 。
请判断是否正确?( )
正确
错误
bin(10)的运行结果'0b1010';int("1101",2)的运行结果是13。( )
正确
错误
请仔细阅读下面6行代码,请判断,代码运行后打印的结果应该是No,对吗?( )
a = all([1,2,3])
b = any([3,2,1])
if a == b :
print('Yes')
else:
print('No')
正确
错误
有如下所示6行代码,变量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)
正确
错误
oct(10)和hex(10)的结果相等。( )
正确
错误