将一组学生的信息(姓名、语文成绩、数学成绩、英语成绩)写入到文件score.txt中,一行存储一个学生的信息,各字段间以逗号分隔。然后读取文件中内容计算每个学生的平均分,将结果(姓名,平均成绩)写入到文件result.txt中。
时间: 2023-07-15 14:15:43 浏览: 29
以下是使用Python实现的代码:
```python
# 写入学生信息到文件
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,85\n')
# 读取学生信息并计算平均分
with open('score.txt', 'r') as f1, open('result.txt', 'w') as f2:
for line in f1:
items = line.strip().split(',') # 去掉换行符并按逗号分隔
name = items[0]
scores = [int(x) for x in items[1:]] # 将分数转换为整数
avg_score = sum(scores) / len(scores) # 计算平均分
f2.write(f'{name},{avg_score:.2f}\n') # 写入结果到文件,保留两位小数
```
运行上述代码后,会生成score.txt和result.txt两个文件。其中score.txt保存了学生的信息,result.txt保存了每个学生的平均分。可以使用文本编辑器打开result.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的文件中去。
在当前路径下,创建一个score.txt文件,将5行成绩写入文件
好的,以下是Python代码实现:
```python
scores = [89, 92, 78, 85, 94]
with open('score.txt', 'w') as f:
for score in scores:
f.write(str(score) + '\n')
```
这段代码会在当前路径下创建一个名为`score.txt`的文件,并将列表`scores`中的5个成绩写入文件中,每行一个成绩。`with`语句会自动关闭文件,不需要手动调用`close()`方法。