现将学习强国平台的每个学员账号以及学习积分存在一个文件score.txt(score.txt)里。 TXT score.txt 请编写程序( 文件名:sort 自己学号 例如:sort 2135012345.py): 获取用户信息以及积分信息,并输出积分排名前三名的学员信息和积分。用python
时间: 2024-03-07 17:53:30 浏览: 131
接收从键盘输入某班学生的学号、姓名、成绩,对学 生的成绩进行排序.zip
5星 · 资源好评率100%
好的,我会根据你的要求编写程序。以下是代码:
```python
# -*- coding: utf-8 -*-
import sys
# 读取文件中的学员信息以及积分
def read_file(file_path):
data = {}
with open(file_path, 'r') as f:
for line in f.readlines():
line = line.strip()
if not line:
continue
info = line.split(' ')
if len(info) != 2:
continue
data[info[0]] = int(info[1])
return data
# 获取积分排名前三名的学员信息和积分
def get_top_three(data):
top_three = sorted(data.items(), key=lambda x: x[1], reverse=True)[:3]
return top_three
if __name__ == '__main__':
# 获取学号
student_id = sys.argv[1]
# 文件路径
file_path = 'score.txt'
# 读取文件
data = read_file(file_path)
# 获取学员信息以及积分信息
if student_id in data:
print('学号:{} 积分:{}'.format(student_id, data[student_id]))
else:
print('未找到该学员信息!')
# 获取积分排名前三名的学员信息和积分
top_three = get_top_three(data)
print('积分排名前三名的学员信息和积分:')
for i, item in enumerate(top_three):
print('排名{} 学号:{} 积分:{}'.format(i+1, item[0], item[1]))
```
你可以将以上代码保存为文件 sort.py,并在命令行中执行以下命令来运行程序:
```
python sort.py 2135012345
```
其中,2135012345 是你的学号。程序将输出你的积分信息以及积分排名前三名的学员信息和积分。
阅读全文