您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python:第二个for循环未运行

Python:第二个for循环未运行

文件不是列表。您不能在不倒退文件对象的情况下循环播放它们,因为完成阅读后文件位置不会重置为开始。

您可以results_f.seek(0)在循环之间添加

for each_line in results_f:
    (name,score) = each_line.split()
    scores.append(float(score))

results_f.seek(0)

for line in results_f:                      
    (name,score) = line.split()
    surfers.append(name)

但你会 由不循环两次更好。您已经name在第一个循环中获得了信息。只需循环 一次

for each_line in results_f:
    (name,score) = each_line.split()
    scores.append(float(score))
    surfers.append(name)

您的代码仅对scores列表进行排序;该surfers列表将不符合要求。如果您需要将姓名和分数排序在一起,请将姓名和分数放在列表中;如果您将分数放在第一位,您甚至不需要讲sort任何特别的事情:

surfer_scores = []

for each_line in results_f:
    name, score = each_line.split()
    surfer_scores.append((float(score), name))

surfer_scores.sort(reverse=True)  
print("The high scores are : ")
for i, (score, name) in enumerate(surfer_scores[:3], 1):
    print("{} - {}: {}".format(i, name, score)
python 2022/1/1 18:48:51 有356人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶