仅供分享学习
1.输入数据创建列表
score_ls = []
for i in range(0, 10):
x = float(input())
score_ls.append(x)
print(score_ls)
2.计算每位选手成绩
ls = []
for i in range(0, 10):
x = float(input())
ls.append(x)
print(ls)
print('最高分{:.3f},最低分{:.3f},平均分{:.3f}'.format(max(ls), min(ls), sum(ls)/len(ls)))
3.去除一个最高分和最低分
ls = []
for i in range(0, 10):
x = float(input())
ls.append(x)
print(ls)
ls.remove(max(ls))
ls.remove(min(ls))
print(ls)
print('最高分{:.3f},最低分{:.3f},平均分{:.3f}'.format(max(ls), min(ls), sum(ls)/len(ls)))
4.计算中位数成绩
ls = []
for i in range(0, 10):
x = float(input())
ls.append(x)
print(ls)
ls.remove(max(ls))
ls.remove(min(ls))
ls = sorted(ls)
print(ls)
mid = float(((ls[3] + ls[4]) / 2))
print('去掉最高分和最低分后,中位数成绩为:{:.3f}'.format(mid))
5.去除弃权评委成绩
ls = []
for i in range(0, 10):
x = str(input())
if x != '':
ls.append(float(x))
#print(ls)
ls.remove(max(ls))
ls.remove(min(ls))
print(ls)
print('{:.3f}, {:.3f}, {:.3f}'.format(max(ls), min(ls), sum(ls)/len(ls)))
6.将平均成绩添加到列表末位
ls = []
for i in range(0, 10):
x = str(input())
ls.append(x)
print(ls)
new_ls = [float(x) for x in ls if x != '']
new_ls.remove(max(new_ls))
new_ls.remove(min(new_ls))
ls.append(str(sum(new_ls)/len(new_ls)))
ls = [str(x) for x in ls if x != '']
print(ls)
7.读文件到二维列表
def file_to_list(file):
with open(file) as fr: # 创建文件对象
score_ls = [line.strip().split(',') for line in fr]
return score_ls
if __name__ == '__main__':
filename = '/data/bigfiles/mark_score.csv'
ls = file_to_list(filename)
x = int(input())
new_ls = []
for i in range(0, x):
new_ls.append(ls[i])
print(new_ls)
8.二维列表数据分析
def new_a_list(ls):
new_ls = [float(x) for x in ls if x != '']
new_ls.remove(max(new_ls))
new_ls.remove(min(new_ls))
new_ls.append(float('{:.2f}'.format(sum(new_ls)/len(new_ls))))
return new_ls
def file_to_list(file):
with open(file) as fr:
score_ls = [line.strip().split(',') for line in fr]
return score_ls
if __name__ == '__main__':
filename = '/data/bigfiles/mark_score.csv'
ls = file_to_list(filename)
x = int(input())
new_ls = []
for i in range(0, x):
new_ls.append(ls[i])
result_ls = []
for i in new_ls:
result_ls.append(new_a_list(i))
print(result_ls)
9.成绩排序
def new_a_list(ls):
new_ls = [float(x) for x in ls if x != '']
new_ls.remove(max(new_ls))
new_ls.remove(min(new_ls))
new_ls.append(float('{:.2f}'.format(sum(new_ls)/len(new_ls))))
return new_ls
def file_to_list(file):
with open(file) as fr:
score_ls = [line.strip().split(',') for line in fr]
return score_ls
if __name__ == '__main__':
filename = '/data/bigfiles/mark_score.csv'
ls = file_to_list(filename)
for i in range(0, len(ls)):
ls[i] = new_a_list(ls[i])
ls.sort(key=lambda x : (x[-1], -x[-2]), reverse=True)
n = int(input())
r_ls = []
for i in range(0, n):
r_ls.append(ls[i])
print(r_ls)