【问题标题】:How can I display the name and highest score from a .txt? [closed]如何显示 .txt 中的名称和最高分数? [关闭]
【发布时间】:2023-02-11 08:27:05
【问题描述】:

我有一个看起来像这样的文本文件:

karin
2938
Joe
378
Bob
2837

我想循环浏览文件中的名字和分数对,并显示得分最高的玩家的名字和分数。

我有这段代码:

nameList = []
scoreList = []

def readFile():
    highestScore = 0
    highestPlayer = 0

    with open("r.txt", "r") as f:
        for line in f:
            line = line.strip()
            name = line.split()
            score = line.split()
            nameList.append(name)
            scoreList.append(int(score))

            if int(score) > highestScore:
                highestScore = int(score)
                highestPlayer = name
    
    print(highestPlayer+"has the best score: "+str(highestScore))

代码有什么问题,我该如何解决?

【问题讨论】:

  • 您已有的代码有什么问题/您遇到问题的具体部分是什么?
  • 看起来你有一个任务的描述,以及一些对该任务有一定意义的代码。会发生什么当您尝试使用该代码时?那有什么不同从你想要发生什么?请阅读How to Ask并尝试询问明确的,具体的问题。
  • 要使文本文件内容与适当的换行符等一起显示,请按照与代码相同的方式对其进行格式化。
  • 如果您的文件格式类似于karin 2938 Joe 378 Bob 2837,那么当您阅读第一行时,您实际上是在阅读整个文件。
  • @Code-Apprentice OP 编辑​​帖子以包含示例输入,然后发现格式不正确,然后再次编辑以添加解释性说明;然后其他人编辑以正确格式化输入,同时将注释留在原处。我删除了注释。

标签: python


【解决方案1】:

以这种方式更改您的代码

for line in f:
    line = line.split()
    name = line[0]
    score = line[1]

【讨论】:

  • 如果 line.split() 是正确的,这将是从中获取 rhw 片段的一种方法。但是,name 和score 位于不同的行中,因此这是行不通的。
猜你喜欢
  • 2019-09-21
  • 1970-01-01
  • 1970-01-01
  • 2011-08-19
  • 2018-10-13
  • 1970-01-01
  • 2015-09-16
  • 2020-06-17
  • 1970-01-01
相关资源
最近更新 更多