我有一个这样的程序:
def read():
while True:
for line in temp1:
if event in line:
print temp1.next()
elif date in line:
print temp1.next()
elif ending in line:
print 'End of file'
break
event = '1'
date = '2'
ending = '3'
temp1 = open('test.txt')
test.txt看起来像这样:
1
ABC
2
CAB
3
程序输出:
ABC
CAB
然后它进入无限循环。 有办法解决这个问题吗?
答案 0 :(得分:4)
您的break
语句只会突破for
循环(如果它被点击)。它并没有,实际上也不能突破while
循环。虽然我不确定while
循环是什么,因为for
循环应迭代整个文件。由于您已经在函数中,因此可以使用return
语句来打破多个循环(尽管最好不要去掉额外的循环)。
答案 1 :(得分:0)
在第一个break语句之后的行上添加第二个break语句,但是将其与for语句对齐。