python 函数编写

函数编写题题目如图 ,编写一个Arms(x)函数,x是一个三位数数字

img

def Arms(x):
    if len(str(x))!=3:return False
    res = sum(int(i)**3 for i in str(x))
    if res ==x: return True
    return False
print("所有的水仙花数:")
for i in range(100,1000):
    if Arms(i):
        print(i, end=' ')

结果:

所有的水仙花数:
153 370 371 407

img

def Arms(x):
    i=x
    a = i//100
    b = (i-a*100)//10
    c = (i-a*100-b*10)
    if i == pow(a,3)+pow(b,3)+pow(c,3):
        print(i,end=' ')
for i in range(100,1000):
    Arms(i)

你题目的解答代码如下:

img

def Arms(x):
    if x<100 or x>999:
        return False
    s = str(x)
    return x == int(s[0])**3+int(s[1])**3+int(s[2])**3

for i in range(100,1000):
    if(Arms(i)):
        print(i,end=' ')```

> 如有帮助,请点击我的回答下方的**【采纳该答案】**按钮帮忙采纳下,谢谢!
> ![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/101342676936187.png "#left")