列出与吸血鬼号码的比较失败

时间:2015-03-05 07:07:25

标签: python list python-2.7

此代码检查数字组合是否产生vampire number但如果x = 2947051且y = 8469153则返回错误的True。

def vampire_test(x, y):
    vamp = (list(str(x) + str(y)))
    prod = x*y
    vamp_check = list(str(prod))

    print vamp, vamp_check

    if '-' in vamp and '-' not in vamp_check:
        return False
    else:
        check = cmp(vamp.sort(),vamp_check.sort())
        if check == 0 and len(vamp) == len(vamp_check):
            return True
        else:
            return False

问题是什么?如何改进我已编写的代码?

1 个答案:

答案 0 :(得分:5)

存在逻辑问题。这一行:

check = cmp(vamp.sort(),vamp_check.sort())

每次都会check = 0,因为.sort() list方法排序并返回None