2016-02-10 2 views
0

Когда я пишу следующий код:Нерешенные Ссылка в Python, который представляет собой целое число

def demorgan(prop_sent, conditionals, candd): 

    global sn 
    d = 0 
    while d < len(conditionals) -1: 
     str1 = conditionals[d][4] 
     if str1.find("~(") > -1: 
      anc1 = conditionals[d][2] 

В среде IDE говорит, что d является нерешенной ссылкой. Когда я изменяю цикл while в цикле for, который я не могу сделать кстати, поскольку длина списка условных выражений будет меняться при циклизации, сообщение об ошибке исчезнет.

def demorgan(prop_sent, conditionals, candd): 

    global sn 

    for d in range(len(conditionals)): 
     str1 = conditionals[d][4] 
     if str1.find("~(") > -1: 
      anc1 = conditionals[d][2] 

Я не могу понять, почему d является неразрешенной ссылкой в ​​цикле while. Ошибка также уходит, когда я просто вставляю:

while d < 10: 
+1

Может быть проблема с вашей IDE. Не похоже на проблему с 'd', кроме бесконечного цикла. – khelwood

+1

Я думаю, что это ошибка IDE. Какую IDE вы используете? Вы пытались перезапустить или обновить его? – nneonneo

+1

Это может помочь включить полную ошибку с трассировкой стека. – twasbrillig

ответ

0

Собственно, на второй взгляд это не ошибка. Мой редактор IDE (Pycharm) подчеркивает переменную d и имеет красный флаг в правой части, но когда я действительно перешагиваю через строку, Python продолжает работать. Это единственный раз, когда я видел, когда красный флаг поднялся, и Python продолжает работать, поэтому я думаю, проблема связана с IDE.

+0

Время обновления pycharm. 5.0.4, похоже, не проблема. –

+1

Возможно, это просто говорит вам, что «d» не такое хорошее имя переменной? –

+0

Вы правы. Спасибо, что указали на это. – kylefoley76

Смежные вопросы