组卷题库 > 高中信息技术试卷库
试题详情
某校对高一新生按分班考试总分进行平行分班,具体分班规则如下:将高一年级学生按女生在前、男生在后分别按总分进行降序排序,然后按名次序号进行蛇形分班,例如分成6个班的分班示意如图a所示。

实现上述功能的Python程序如下,程序运行结果如图b所示。回答下列问题:

#从文件15. csv中读取学生分班数据(已按考号升序排序),保存在列表d中

#其中d[0]数据为['考号','姓名','性别','总分'],变量w存储女生人数,代码略

n=len (d) ; bj=[0]*n

for i in range (n):

    b j[i]=i

for i in range(1, n+1):

    for j in :   #①

        if d[bj[j]][2]==d[bj[j+1]][2] and int (d[bj[j]][3])<int (d[bj[j+1]][3]):

            bj[j], bj[j+1]=bj[j+1], bj[j]

           #②

            bj[j], bj[j+1]=bj[j+1], bj[j]

cla=0;k=1

for i in range(1, n) :

    cla+=k

    if  ③  

        cla=12;k=- 1

    elif cla>12:

        cla=12;k=-1

    elif cla<1:

        cla=1; k=1

    d[bj[i]]. append (cla)

for i in range(n) :

    print (d[bj[i]])

no=input ("请输入查找的学生考号:(输入End结束) ")

while no!="End":

    i=1; j=n-1

    while i<=j:

        m=(i+j)//2

        if d[m] [0]==no:

            print("学号: "+no+" "+d[m] [1]+"同学在"+str(d[m] [4])+"班")

           break

        elif  ④  

            i=m+1

        else:

            j=m-1

if i>j:

    print ("没有找到该同学)

no=input ("请输入查找的学生考号: (输入End结束) ")

知识点
参考答案
采纳过本试题的试卷
教育网站链接