将一组学生的信息(姓名、语文成绩、数学成绩、英语成绩)写入到文件score.txt中,一行存储一个学生的信息,各字段间以逗号分隔。然后读取文件中内容计算每个学生的平均分,将结果(姓名,平均成绩)写入到文件result.txt中。
时间: 2023-07-16 08:15:04 浏览: 88
下面是Python的代码实现:
```python
# 写入学生成绩信息到score.txt中
with open("score.txt", "w") as f:
f.write("张三,80,90,85\n")
f.write("李四,75,85,90\n")
f.write("王五,90,80,95\n")
f.write("赵六,85,95,80\n")
# 读取score.txt中的学生成绩信息,计算平均分,并写入result.txt中
with open("score.txt", "r") as f1, open("result.txt", "w") as f2:
for line in f1:
# 分割学生信息
items = line.strip().split(",")
name = items[0]
score_list = [int(score) for score in items[1:]]
avg_score = sum(score_list) / len(score_list)
# 写入学生平均分到result.txt中
f2.write("{},{}\n".format(name, avg_score))
```
注意,这里我们假设score.txt文件已经存在,并且已经写入了学生成绩信息。在实际应用中,我们应该从其他途径获取学生成绩信息,并将其写入到文件中。
相关问题
JAVA编写一段代码,不断从屏幕中提示用户输入学生姓名,语文成绩,数学成绩,英语成绩,输入quit结束输入。用文件字符流将学生成绩信息写入到文件Score.txt中,每录完一个学生的信息换行。再按行读取Score.txt的内容,并在该行的后面加上该同学的总成绩,再将该行写入到一个名为Score_sum.txt的文件中去。
好的,以下是你需要的代码:
import java.io.*;
public class ScoreRecorder {
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new FileWriter("Score.txt"));
String line;
while (true) {
System.out.print("请输入学生姓名:");
String name = br.readLine();
if (name.equals("quit")) {
break;
}
System.out.print("请输入语文成绩:");
String chinese = br.readLine();
System.out.print("请输入数学成绩:");
String math = br.readLine();
System.out.print("请输入英语成绩:");
String english = br.readLine();
String scoreLine = name + " " + chinese + " " + math + " " + english;
bw.write(scoreLine);
bw.newLine();
}
br.close();
bw.close();
BufferedReader br2 = new BufferedReader(new FileReader("Score.txt"));
BufferedWriter bw2 = new BufferedWriter(new FileWriter("Score_sum.txt"));
while ((line = br2.readLine()) != null) {
String[] scores = line.split(" ");
int sum = Integer.parseInt(scores[1]) + Integer.parseInt(scores[2]) + Integer.parseInt(scores[3]);
String sumLine = line + " " + sum;
bw2.write(sumLine);
bw2.newLine();
}
br2.close();
bw2.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
这段代码可以不断从屏幕中提示用户输入学生姓名、语文成绩、数学成绩、英语成绩,输入quit结束输入。然后将学生成绩信息写入到文件Score.txt中,每录完一个学生的信息换行。接着按行读取Score.txt的内容,并在该行的后面加上该同学的总成绩,再将该行写入到一个名为Score_sum.txt的文件中去。
题目要求从键盘输入10个学生的学号、姓名,以及数学、语文和英语成绩,写入到文本文件f3.txt中,再从文件中取出数据,计算每个学生的总成绩和平均分,同时将结果显示在屏幕上。得代码
好的,以下是Python代码实现:
```python
# 从键盘输入学生信息,并将其写入到文件f3.txt中
with open('f3.txt', 'w') as f:
for i in range(10):
# 从键盘输入学生信息
stu_id = input('请输入第{}个学生的学号:'.format(i+1))
stu_name = input('请输入第{}个学生的姓名:'.format(i+1))
math_score = float(input('请输入第{}个学生的数学成绩:'.format(i+1)))
chinese_score = float(input('请输入第{}个学生的语文成绩:'.format(i+1)))
english_score = float(input('请输入第{}个学生的英语成绩:'.format(i+1)))
# 将学生信息写入到文件中
f.write('{} {} {} {} {}\n'.format(stu_id, stu_name, math_score, chinese_score, english_score))
# 从文件中读取学生信息,并计算每个学生的总成绩和平均分,并输出到屏幕上
with open('f3.txt', 'r') as f:
for line in f:
# 从文件中读取学生信息
stu_id, stu_name, math_score, chinese_score, english_score = line.strip().split()
# 计算每个学生的总成绩和平均分
total_score = float(math_score) + float(chinese_score) + float(english_score)
avg_score = total_score / 3
# 输出每个学生的总成绩和平均分
print('{} {} 总成绩: {:.2f} 平均分: {:.2f}'.format(stu_id, stu_name, total_score, avg_score))
```
运行代码,按照题目要求输入学生信息,程序会自动将学生信息写入到文件f3.txt中,并从文件中读取学生信息,计算每个学生的总成绩和平均分,并输出到屏幕上。
阅读全文