学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
排队。已有一个n*n的方阵,为快速整队,使方阵变得整齐,有如下要求:
①整队后按身高每行从左到右升序
②整队时,可以让学生离开使得该行按身高升序,但不能让学生交换位置
③每行在符合要求的情况下,保持人数最多
④最后根据各个行的人数,寻找值i,人数大于等于i的行的数量大于等于i,i尽量大,组成一个i*i的最大方阵。
小明编写程序,按要求确定每行的最长长度,再寻找值i,并输出组成的最大方阵i*i的大小。方阵的身高数据已按每行存储在和代码文件同一个位置的“身高.csv”文件中,如图a所示数据,运行后结果如图b。

(1)若数据如图c所示,程序运行后输出:组成的最大方阵大小为_______
(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。
(3)加框处代码有误,请改正。_______
def readfile(filename):#读取文件

f=open (filename,encoding='utf-8')

line=f.readline();t=[]


while line:

’’’代码l将line以逗号为分隔符分割,并将里面的每个元素转换为整型代码2将a转换为列表,例如1ine="156,167,182”,运行上述代码1,2后存入a的为[156,167,182]’’’

a=map(int,line.split(",")) #代码1

a=list(a)     #代码2

t.append (a); line=f. readline()


return t
def max_cd(i,b,k):   #计算k中到索引i处为止的最长升序序列的元素个数并返回

for j in range(i-l.-1,-1):#枚举索引i的元素放在索引 0-i-1哪个元素之后最优

if:

b[i]=b[j]+1

return b[i]


t= ___#读取文件
c=[]
for k in t:

b={} #b中键为索引,值表示在列表k中到该索引为止最长升序序列的元素个数

Max=0

for i in range(len(k)):#b中键值对赋初值

__

for i in range(len(k)):

b[i]=max_cd(i, b,k)

if b[i]>Max:

Max=b[i]

c. append (Max)


for i in range (len(t),0,-1):

count=0

for j in c:

if j>=i:

count+=1

if count>=i:

___


print("组成的最大方阵大小为”,i,"*",i)
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交