Python作业——列表自学引导

仅供分享学习

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)

  • 12
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值