图a 图b
(1)主程序
kh,zf=readfile('score.txt')#读入文件
mc=[] #存储对应名次
a=[0]*
#a中存储每个分数的个数,如a[90]为10,表示90分的人数个数为10个。
for i in zf:
a[i]=a[i]+1
for i in range(len(zf)):#计算每个分数对应的名次
m=js(zf[i],a);mc.append(m)
#保存为文件代码略
根据题意,若将加框处改为100,是否会影响程序正确运行
(2)读取文本文件,如下的readfile函数,逐行读取文本文件数据分别存入两个列表中并返回,请在划线处填入合适的代码。
def readfile(filename):
f=open(filename,encoding='utf-8')
line=f.readline() #读标题行
line=f.readline()#读第一行数据
kh=[];zf=[] #kh存入考号,zf存入总分
while line:
s=line.split()#以空格为分隔符分割字符串,例“0128 92"变为[“0128","92”]
kh. append (s[0])
line=f.readline()
return kh,zf
(3)计算分数x的名次并返回,如下的js函数,请在划线处填入合适的代码。
def js(x,a):
①
for i in ②
s+=a[i]
return s
同类型试题
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
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