Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 如何在python中退出多个循环_Python 2.7 - Fatal编程技术网

Python 2.7 如何在python中退出多个循环

Python 2.7 如何在python中退出多个循环,python-2.7,Python 2.7,在我下面的代码中,我不断得到一个错误,我无法告诉如何修复它。 见代码: def WordSelector(): global pattern words = [location] corpus = " ".join(words) sentences1 = re.split(r'\.', corpus) name17 = [name66, name666, name67, name68, name69, name612] k1 = iter(name

在我下面的代码中,我不断得到一个错误,我无法告诉如何修复它。 见代码:

def WordSelector():
    global pattern
    words = [location]
    corpus = " ".join(words)
    sentences1 = re.split(r'\.', corpus)
    name17 = [name66, name666, name67, name68, name69, name612]
    k1 = iter(name17)
    keyword = next(k1)
    pattern1 = keyword

    class LocalBreak(Exception):
        pass
        try:
            for pattern1 in name17:
                for sentence in sentences1:
                    if pattern1 in sentence:
                        print 'code'
                        raise LocalBreak()
        except LocalBreak:
            pass


WordSelector()
我不断地发现这个错误:

"C:\Python27\synonyms3.py", line 72, in LocalBreak
    except LocalBreak:
NameError: free variable 'LocalBreak' referenced before assignment in enclosing scope

整个
try/except
块在
LocalBreak
体中定义,您不能引用类本身(因为它的定义尚未完成)

只需正确缩进代码,并在函数体中执行循环,而不是在自定义异常定义范围中

def WordSelector():
    global pattern
    words = [location]
    corpus = " ".join(words)
    sentences1 = re.split(r'\.', corpus)
    name17 = [name66, name666, name67, name68, name69, name612]
    k1 = iter(name17)
    keyword = next(k1)
    pattern1 = keyword

    class LocalBreak(Exception):
        pass

    try:
        for pattern1 in name17:
            for sentence in sentences1:
                if pattern1 in sentence:
                    print 'code'
                    raise LocalBreak()
    except LocalBreak:
        pass


WordSelector()

正确的代码parenthess@Martin,你是说打印的吗?我已经在网上运行了代码,它很好并且可以工作,但是当我在源代码中使用它时,我得到了一个重新打印的结果,似乎break或LocalBreak并不能阻止它。让我再检查一遍我的线路。在单词部分,我放了一段来自sqilte Db的文字。在打印部分,这是我所拥有的:打印“”。如果word_标记化(j)]中的模式1,则枚举(句子1)中的m,j的连接([“”.join([sentences1[m-1],j]))