当我写下面代码时:
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循环中未解析的引用。当我简单地输入时,这个bug也消失了:
while d < 10:
答案 0 :(得分:0)
实际上,第二个想法这不是错误。我的IDE编辑器(Pycharm)强调了d变量并在右侧有一个红色标记,但是当我实际跨越该行时,Python继续工作。这是我唯一一次看到红旗升起并且Python继续工作的时候,所以我猜问题就在于IDE。