虽然循环没有在Python中打破

时间:2016-06-25 03:17:51

标签: python while-loop

我有一个这样的程序:

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

然后它进入无限循环。 有办法解决这个问题吗?

2 个答案:

答案 0 :(得分:4)

您的break语句只会突破for循环(如果它被点击)。它并没有,实际上也不能突破while循环。虽然我不确定while循环是什么,因为for循环应迭代整个文件。由于您已经在函数中,因此可以使用return语句来打破多个循环(尽管最好不要去掉额外的循环)。

答案 1 :(得分:0)

在第一个break语句之后的行上添加第二个break语句,但是将其与for语句对齐。