scores = []
surfers = []
results_f = open("results.txt")
for each_line in results_f:
(name,score) = each_line.split()
scores.append(float(score))
for line in results_f:
(name,score) = line.split()
surfers.append(name)
results_f.close()
scores.sort(reverse = True)
print("The high scores are : ")
print("1 - "+str(scores[0]))
print("2 - "+str(scores[1]))
print("3 - "+str(scores[2]))
print(surfers[0])
只是一个实验程序。但是第二个for循环似乎没有运行。如果我切换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 for循环的具体应用Python 中的循环语句有 2 种,分别是 while 循环和 for 循环,前面章节已经对 while 做了详细的讲解,本节给大家介绍 for 循环,它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。 for 循环的语法格式如下: for 迭代变量 in 字符串|列表|元组|字典|集合: 代码块 格式中,迭代变量用于存放从序列类型变量中读取出来的元素,所以
我有一个python for循环,它执行一个bash脚本,如下所示(我将其简化为只包含需要显示的内容),我需要它在for循环中同时运行所有这些bash脚本,但要等到它们全部完成后才能继续串联。bash脚本是我唯一希望并行运行的部分。它是在同一for循环的下游做一些需要串联完成的事情。这可能吗? 以下是系列作品。没有脚本的并行执行,因为。如果我删除. etc(),它几乎立即出错,下游的任何东西都不再
raceback(最近的最后一次调用):File"/User/kaikeichan/Desktop/python_webpage/actionchain.py",第7行,在驱动程序=网络驱动程序中。Chrome(PATH)File"/Library/Framework/Python.framework/Versions/3.10/lib/python3.10/site-packages/selen
我是java新手,受这次讨论的启发,我在这里写了一个while循环版本和一个for循环版本(这个问题),这个程序在数组中搜索一个“项”(在main方法中称为int 20)并返回其值,这两个版本都有效。 然而,在这个for循环版本中,第二个if语句,尤其是“database[i]==database[database.length-1]”,看起来是多余的,因为for循环中的终止条件已经指定 我尝试用
问题内容: 我正在尝试读取日志文件,并将某些值与预设阈值进行比较。我的代码设法通过函数中的第一个循环记录原始数据。 我添加了打印语句以尝试弄清楚发生了什么,并且我已经推断出我的第二个for循环永远不会“发生”。 这是我的代码: 这就是我调用此函数的方式: 看起来像这样: 我尝试谷歌搜索类似的问题,但没有发现。我尝试将我的第一个for循环移入,但是发生相同的问题。目前没有语法错误,我现在无法看到该问
我正在编写一个计算e^x值的方法。我在python中实现它的方式如下。 这将很好地返回e^x的值。但是,当我尝试在c#中实现相同的方法时,它没有输出与python中相同的值。以下是c#中的实现。 起初,这段代码的输出是一个无穷大符号。为了解决这个问题,我只是减少了循环运行的次数。在c#中,循环只运行10次,代码的输出非常接近于python中循环运行100次的输出。我的问题是,在不同的编程语言中,两