为什么输出True,10 > 10

def ispure(x):
    y = x + 1
    z = y + 1
    for i in range(1, len(str(x)) + 1):
        print('[debug]', int(str(x)[-i]) + int(str(y)[-i]) + int(str(z)[-i]), i)
        if int(str(x)[-i]) + int(str(y)[-i]) + int(str(z)[-i]) > 10:
            return False
    return True

Output:

>>> isreal(2019)
[debug] 10 1
[debug] 5 2
[debug] 0 3
[debug] 6 4
True

为什么输出True,10 > 10?

这是因为最后一个循环的6+4>10不成立,所以判断句if后面的return False不会执行。
所以最后return True被执行了

不是大于10才输出False么,循环跑下来没有大于10的,所以True了呀