我有一个while循环,通常效果很好,但我想将它转换为for循环。 while循环如下:将while循环转换为for循环时意外的结果
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()'不同。 – smarx
另外,'对于a中的行,而不是'列举(a)'中的行。 – smarx
我假设问题代码中的缩进问题只是复制/粘贴中引入的错误。 – smarx