【发布时间】:2018-01-10 00:14:48
【问题描述】:
我有一个通常运行良好的 while 循环,但我想将其转换为 for 循环。 while循环如下:
with open(filename) as a:
while tally != c:
line = a.readline()
c = line.strip()
在我打开文件的地方,读取每一行,直到找到我感兴趣的行。for循环如下:
with open(filename) as a:
for line in enumerate (a):
if tally == c:
break
elif tally != c:
c = line
看起来循环每次都只是读取到文件末尾,并将变量c 转换为一个由随机数和文件最后一行组成的元组。我知道 tally 中包含的字符串存在于文件中,因为 while 循环执行了预期的功能。
【问题讨论】:
-
c = line与c = line.strip()不同。 -
另外,
for line in a,而不是for line in enumerate(a)。 -
我认为问题中代码中的缩进问题只是复制/粘贴中引入的错误。
-
绝对是缩进的复制/粘贴问题。如果这是问题所在,那将是一个巨大的尴尬!
标签: python-2.7 loops for-loop while-loop