Перерыв из за петли - PullRequest
       3

Перерыв из за петли

0 голосов
/ 02 сентября 2010

Вот мой код:

def detLoser(frag, a):
    word = frag + a

    if word in wordlist:
        lost = True
    else:
        for words in wordlist:
            if words[:len(word) == word:
                return #I want this to break out.

            else:   
                lost = True

Там, где у меня есть возврат, я пытался вставить оба возврата и разрыва, и оба дают мне ошибки.Оба дают мне следующую ошибку: SyntaxError: неверный синтаксис.Есть идеи?Каков наилучший способ справиться с этим?

Ответы [ 2 ]

6 голосов
/ 02 сентября 2010

Вы пропустили ] из списка.Но что код пытается достичь в любом случае?

foo[ : len( foo ) ] == foo

всегда!

Я предполагаю, что это не полный код - если так, то где определяется wordlist?(это список? - гораздо быстрее проверить наличие набора.)

2 голосов
/ 02 сентября 2010
def detLoser(frag, a):

    word = frag + a

    if word in wordlist:
        lost = True
    else:
        for words in wordlist:
            if word.startswith(words):
                return #I want this to break out.
            else:   
                lost = True

Вы, вероятно, можете переписать цикл for, используя any или all, например.(хотя вы должны использовать набор вместо списка для списка слов)

def detLoser(frag, a):
    word = frag + a
    return word in wordlist or any(w.startswith(word) for w in wordlist)
...