. 文件score.txt中存储了若干学生的姓名、学号和3门考试课的成绩。编程,将所有两门以上(含两门)课程不及格的学生信息输出到文件bad.txt、其他学生信息输出到pass.txt。假设score.txt、bad.txt、pass.txt均保存在.py文件的同名目录下。
时间: 2024-02-27 08:53:54 浏览: 277
好的,以下是Python实现代码:
```python
with open('score.txt', 'r') as f:
lines = f.readlines() # 读取所有行
with open('bad.txt', 'w') as f1, open('pass.txt', 'w') as f2:
for line in lines:
name, id, score1, score2, score3 = line.strip().split() # 去掉首尾空格并分割出各字段
# 判断是否两门以上课程不及格
if score1 < '60' and score2 < '60' or score1 < '60' and score3 < '60' or score2 < '60' and score3 < '60':
f1.write(line)
else:
f2.write(line)
```
代码说明:
1. 首先使用`with open()`语句打开score.txt文件,并使用`readlines()`方法读取所有行,存储在列表`lines`中。
2. 接着使用`with open()`语句分别打开bad.txt和pass.txt文件,使用`write()`方法将不及格学生信息写入bad.txt,其他学生信息写入pass.txt。
3. 在循环过程中,使用`strip()`方法去掉每行的首尾空格,使用`split()`方法分割出姓名、学号和3门考试课的成绩。
4. 判断是否两门以上课程不及格,如果是则将该行信息写入bad.txt,否则写入pass.txt。
阅读全文