这个Python怎么写呀

设表示千位、百位、十位、个位数字分别为a、b、c、d的四位数,编程找到所有满足= a4 + b4 + c4 + d4的四位数。

代码如下,正确的话点击一下采纳谢谢

# 设表示千位、百位、十位、个位数字分别为a、b、c、d的四位数,编程找到所有满足= a4 + b4 + c4 + d4的四位数。
for a in range(1, 10):
    for b in range(10):
        for c in range(10):
            for d in range(10):
                if (a**4 + b**4 + c**4 + d**4) == int(str(a)+str(b)+str(c)+str(d)):
                    print(str(a)+str(b)+str(c)+str(d))




题目是不是要求a,b,c,d四个数字互不相同?
是的话只有一个数符合条件:

for i in range(1000,10000):
    i = str(i)
    if len(set(i))==4:
        a,b,c,d = map(int,i)
        if a**4+b**4+c**4+d**4 == int(i):
            print(i)

输出:
1634
如果不要求必须不同的话,把if len(set(i))==4这句去掉,有三个数:
1634
8208
9474