(4) 请用Python编写程序,用户输入姓名和分数,将输入的记录加进文本文件,并显示当前的最高分的姓名。(文本文件内容如下) 王益诚,91 李裕,89 张洪源,79 马柏源,77 叶维鑫,68 熊杰,61 和金贵,88 杨钊,62 王林刚,92 彭林,84
时间: 2023-09-16 21:13:44 浏览: 110
好的,我可以帮你编写这个程序,以下是代码实现:
```python
# 打开文件,如果不存在则创建
f = open("record.txt", "a+")
# 接受用户输入
name = input("请输入姓名:")
score = input("请输入分数:")
# 将记录写入文件
f.write(name + "," + score + "\n")
# 关闭文件
f.close()
# 读取文件并统计最高分的姓名
max_score = 0
max_name = ""
f = open("record.txt", "r")
for line in f:
name, score = line.strip().split(",")
if int(score) > max_score:
max_score = int(score)
max_name = name
# 输出最高分的姓名
print("当前最高分的姓名是:", max_name)
# 关闭文件
f.close()
```
程序中首先打开文件,接受用户输入姓名和分数,并将记录写入文件。然后再次打开文件,读取每一行记录,并统计最高分的姓名。最后输出当前最高分的姓名。需要注意的是,读取文件时需要使用strip()函数去掉每行记录末尾的换行符,并使用split()函数分割姓名和分数。
相关问题
请编写程序,用户输入姓名和分数,将输入的记录加进文本文件 并显示当前的最高分的姓名。(文本文件内容如下). 王益诚914
可以使用 Python 语言来实现。假设文本文件名为 `scores.txt`,代码如下:
```python
# 获取用户输入
name = input("请输入姓名:")
score = input("请输入分数:")
# 将记录写入文本文件
with open("scores.txt", "a") as f:
f.write(name + " " + score + "\n")
# 读取文本文件中所有记录,找到最高分
max_score = 0
max_name = ""
with open("scores.txt", "r") as f:
for line in f:
parts = line.strip().split()
if len(parts) == 2:
cur_score = int(parts[1])
if cur_score > max_score:
max_score = cur_score
max_name = parts[0]
# 显示最高分的姓名
if max_name:
print("当前最高分的姓名是:" + max_name)
else:
print("当前还没有记录")
```
运行以上代码,用户输入姓名和分数后,程序将会将记录添加到 `scores.txt` 文件中,并显示当前最高分的姓名。如果文件中还没有记录,则输出“当前还没有记录”。注意,代码中假设每一行记录都是由姓名和分数两个部分组成,用空格分隔。如果实际情况不同,需要根据实际情况进行修改。
请编写程序,用户输入姓名和分数,将输入的记录加进文本文件,并显示当前的最高分的姓名。
好的,以下是一个Python的示例程序,实现了您的要求:
```python
# 打开文件,如果不存在则创建
with open('scores.txt', 'a+') as f:
# 让用户输入姓名和分数
name = input('请输入姓名:')
score = input('请输入分数:')
# 将记录加入文件中
f.write(name + ',' + score + '\n')
# 回到文件开头,读取所有记录
f.seek(0)
records = f.readlines()
# 初始化最高分和最高分姓名
max_score = 0
max_name = None
# 遍历所有记录,找出最高分和姓名
for record in records:
name, score = record.strip().split(',')
score = int(score)
if score > max_score:
max_score = score
max_name = name
# 显示最高分的姓名
print('当前最高分的姓名是:', max_name)
```
请注意,这里使用了`strip()`函数来去除每行记录的首尾空格,以及`split()`函数来将每行记录按照逗号分隔成姓名和分数两部分。同时,由于文件可能已经存在了一些记录,因此我们在读取文件时需要回到文件开头,否则可能会读取不到之前已经写入的记录。
阅读全文