实现上述功能的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结束) ")
③④