оператор python if некорректно работает с языковой моделью gensim

#python #python-3.x #if-statement

#python #python-3.x #if-statement

Вопрос:

Оператор If не работает должным образом при добавлении else. Оператор else печатается, когда оператор if должен.

Не работает:

 variable = 'programming'

for i, word in enumerate(wv.vocab):
    if word == variable:
        print("Is ready to be measured")
    else:
        print("text to clean")
        #do this
        break
 

Приведенные ниже работы показывают, что переменная term находится в модели wv.vocab

 variable = 'programming'

for i, word in enumerate(wv.vocab):
    if word == variable:
        print("Is ready to be measured")
    #else:
        #print("text to clean")
        #do this
        break

 

Когда переменная изменяется на что-то, чего нет в модели, она не работает.

 variable = 'programmings'

for i, word in enumerate(wv.vocab):
    if word == variable:
        print("Is ready to be measured")
    #else:
        #print("text to clean")
        #do this
        break

 

Комментарии:

1. break останавливает for итерацию цикла. Подумайте об этом на секунду: действительно ли это в нужном месте в вашем первом примере?

2. @VisioN Ах, спасибо, как ни странно, я перенес его обратно на глубину строки оператора if, и ни один из них не работает, так что, возможно, есть еще что выяснить.

Ответ №1:

@VisionN спасибо.

 for i, word in enumerate(wv.vocab):
    if word == variable:
        print("Is ready to be measured")
        break
    else:
         print("text to clean")