请编写程序,用户输入姓名和分数,将输入的记录加进文本文件,并显示当前的最高分的姓名。(文本文件内容如下) 王益诚,91 李裕,89 张洪源,79 马柏源,77 叶维鑫,68 熊杰,61 和金贵,88 杨钊,62 王林刚,92 彭林,84
时间: 2023-09-16 16:11:06 浏览: 91
好的,以下是 Python 的代码实现:
```python
# 读取文本文件中的记录
with open("scores.txt", "r") as f:
lines = f.readlines()
# 将记录转换为字典形式
scores = {}
for line in lines:
name, score = line.strip().split(",")
scores[name] = int(score)
# 获取用户输入的记录并添加到字典中
while True:
name = input("请输入姓名(输入 q 结束):")
if name == "q":
break
score = int(input("请输入分数:"))
scores[name] = score
# 将更新后的记录写入文本文件
with open("scores.txt", "w") as f:
for name, score in scores.items():
f.write(name + "," + str(score) + "\n")
# 查找最高分的姓名并输出
max_score = max(scores.values())
for name, score in scores.items():
if score == max_score:
print("当前最高分的姓名为:", name)
```
代码中,我们首先读取文本文件中的记录,并将其转换为字典形式。然后使用一个 `while` 循环要求用户输入新的记录,并添加到字典中。最后将更新后的记录写入文本文件,并查找最高分的姓名进行输出。
需要注意的是,如果输入的记录中已经包含了某个姓名,那么新的分数会覆盖原有的分数。如果需要保留所有分数记录,则需要使用列表等数据结构进行存储。
阅读全文