Python if语句输出错误

时间:2014-12-14 09:44:55

标签: python if-statement python-3.x while-loop

l=['hello','world']
first=l[0]
second=l[1]
d=len(first); 
x=0
while d>=0:
    e=len(second)-1
    while e>=0:
        if first[d-1]==second[e]:
            x+=1
        else:
            e-=1
    d-=1
if x>0:
    print("YES")
else:
    print("NO")

我正在使用python 3.上面的代码应该输出YES作为输出,但它不是,而是程序继续无限期地运行。我是python的新手。有什么我想念的。

1 个答案:

答案 0 :(得分:1)

您应该将while循环更改为

while e>=0:
    if first[d-1]==second[e]:
        x+=1
    e-=1

相同的原因是,首先说[d-1] ='a',然后第二个[e]也='a'然后它将永远不会减少e的值,而你在条件e> = 0时会满足它并且它将再次转到条件为d没有改变,也不是e变量,从而导致无限循环。