(4)请编写程序,用户输入姓名和分数,将输入的记录加进文本文件,并显示当前的最高分的姓名。(文本文件内容如下) 王血诚,91+ 李裕,89 张洪源,79 马柏源,77 叶维鑫,68 熊杰,61 和金贵,88 杨钊,62 王林刚,92 彭林,84
时间: 2024-03-12 11:48:42 浏览: 114
以下是Python代码实现:
```python
# 打开文件并读取内容
with open("record.txt", "r") as f:
lines = f.readlines()
# 将每个记录转化为字典,方便后续操作
records = []
for line in lines:
name, score = line.strip().split(",")
score = int(score[:-1]) # 去掉末尾的“+”
records.append({"name": name, "score": score})
# 接收用户输入
name = input("请输入姓名:")
score = int(input("请输入分数:"))
# 将新记录添加到列表中
records.append({"name": name, "score": score})
# 将记录按分数降序排序
records = sorted(records, key=lambda x: x["score"], reverse=True)
# 将记录写入文件
with open("record.txt", "w") as f:
for record in records:
f.write(record["name"] + "," + str(record["score"]) + "+\n")
# 显示当前最高分的姓名
print("当前最高分的姓名是:", records[0]["name"])
```
这个程序会打开名为 `record.txt` 的文本文件,并且读取其中的记录。用户输入姓名和分数后,程序将新的记录添加到列表中,并按照分数降序排序。最后,程序将所有记录写回文本文件,并且显示当前最高分的姓名。
阅读全文