def sxh(n):
for i in range(100, n):
a = i // 100 # 获取百位
b = i // 10 % 10 # 获取十位
c = i % 10 # 获取个位
if a ** 3 + b ** 3 + c ** 3 == i:
print(i)
把你的n传进去调用sxh就行了,不知道你的问题包不包括n,包括的话就把range(100, n)改成range(100, n + 1)。
追问不是的,这个n可以是三位或者四位以上,你这里只是三位吧
追答水仙花数不就是三位数吗?你要求自幂数的话用这个
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/6c224f4a20a44623233b911f8822720e0df3d7dd?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)