Python如何把运算结果求交集

具体描述:

img

如何求x和x1的交集呢?或者说如何把x和x1的运算结果都转换成集合呢?

for b in range(10):
    n = b*b*b
    n1 = 100 * b
    for s in range(10):
        u = s*s*s
        u1 = 10*s
        for g in range(10):
            i = g*g*g
            i1 = g
            x = n+u+i
            x1 = n1+u1+i1
            if 100<x<1000 and x==x1:
                print(x)

这样就可以了,你应该是要输出一个三位数,三位数为bsg,要求:b^3+s^3+g^3=bsg
简化程序:

for b in range(10):
    for s in range(10):
        for g in range(10):
            x = b*b*b +s*s*s+g*g*g
            x1 = 100 * b+10*s+g
            if 100<x<1000 and x==x1:
                print(x)

要求交集,你可以把print换成添加到列表中,最后求并集:

y = []
y1 = []
for b in range(10):
    n = b*b*b
    n1 = 100 * b
    for s in range(10):
        u = s*s*s
        u1 = 10*s
        for g in range(10):
            i = g*g*g
            i1 = g
            x = n+u+i
            x1 = n1+u1+i1
            if 100<x<1000:
                y.append(x)
                if 100<x1<1000:
                    y1.append(x1)
print(set(y)&set(y1))

最简单粗暴的,你把x和x1塞进两个list,再把list转为set不就行了,set直接用&就能求交集