已知一个数据文件f.txt中保存了5个学生的计算机等级考试成绩,包括学号、姓名和分数,文件内容如下,请将文件的内容读出并显示到屏幕中 然后将成绩最低的和成绩最高的学生信息输出到文件maxmin.txt中
时间: 2023-09-23 17:06:49 浏览: 99
编写程序,输入并保存5名学生的信息,计算出平均分,再按照成绩从高到低的顺序输出他们的信息。学生信息包括:学号、姓名、成绩。
### 回答1:
代码如下:
```python
# 读取文件内容并显示到屏幕中
with open('f.txt', 'r') as f:
lines = f.readlines()
for line in lines:
print(line.strip())
# 找到成绩最高的和成绩最低的学生信息
max_score = -1
min_score = 101
max_student = ''
min_student = ''
for line in lines:
student = line.split()
score = int(student[2])
if score > max_score:
max_score = score
max_student = line
if score < min_score:
min_score = score
min_student = line
# 将成绩最高的和成绩最低的学生信息输出到文件maxmin.txt中
with open('maxmin.txt', 'w') as f:
f.write('成绩最高的学生:' + max_student)
f.write('成绩最低的学生:' + min_student)
```
其中,`f.txt`的内容如下:
```
001 张三 78
002 李四 89
003 王五 90
004 赵六 67
005 钱七 56
```
`maxmin.txt`输出的内容如下:
```
成绩最高的学生:003 王五 90
成绩最低的学生:005 钱七 56
```
### 回答2:
文件内容如下:
1 张三 90
2 李四 85
3 王五 95
4 赵六 88
5 刘七 92
读取文件的代码如下:
```python
with open('f.txt', 'r') as file:
data = file.readlines()
for line in data:
print(line)
```
运行以上代码将会输出文件内容到屏幕上,结果如下:
1 张三 90
2 李四 85
3 王五 95
4 赵六 88
5 刘七 92
接下来,我们需要找出成绩最低的和成绩最高的学生,并将他们的信息输出到文件"maxmin.txt"中。
```python
# 找出成绩最低和最高的学生
grades = []
for line in data:
grade = int(line.split()[-1])
grades.append(grade)
min_grade = min(grades)
max_grade = max(grades)
min_student = []
max_student = []
for line in data:
student_grade = int(line.split()[-1])
if student_grade == min_grade:
min_student = line.split()
elif student_grade == max_grade:
max_student = line.split()
# 将学生信息输出到文件"maxmin.txt"
with open('maxmin.txt', 'w') as file:
file.write("成绩最低的学生信息:{}\n".format(' '.join(min_student)))
file.write("成绩最高的学生信息:{}".format(' '.join(max_student)))
```
运行以上代码后,将在当前目录下生成一个名为"maxmin.txt"的文件,其中包含了成绩最低和成绩最高的学生信息。
### 回答3:
首先,我们需要读取文件f.txt中的内容。可以使用Python中的文件读取操作将文件内容读取出来,并保存到一个变量中。然后,我们可以使用split函数将每个学生的信息分割开来,并保存到一个列表中。接着,我们可以遍历这个列表,找到成绩最低和成绩最高的学生,并保存其信息。
下面是实现这一功能的代码:
```python
# 读取文件内容
with open('f.txt', 'r') as f:
content = f.read()
# 分割每个学生信息
student_list = content.split('\n')
student_list.pop() # 移除最后一个空字符串
# 找到成绩最低和最高的学生
min_score = float('inf')
max_score = float('-inf')
min_student = ''
max_student = ''
for student_info in student_list:
student_info = student_info.split()
student_id = student_info[0]
student_name = student_info[1]
student_score = int(student_info[2])
if student_score < min_score:
min_score = student_score
min_student = f'{student_id} {student_name} {student_score}'
if student_score > max_score:
max_score = student_score
max_student = f'{student_id} {student_name} {student_score}'
# 输出到屏幕
print(content)
# 输出到文件maxmin.txt
with open('maxmin.txt', 'w') as f:
f.write(f'最低成绩学生信息:\n{min_student}\n最高成绩学生信息:\n{max_student}')
```
执行以上代码后,会将文件f.txt中的内容读取出并显示到屏幕中,同时将成绩最低的学生信息和成绩最高的学生信息分别输出到文件maxmin.txt中。
阅读全文