看不懂这个水花仙数题的答案求讲一下
n = int(input())if n>=3 and n<6:
for i in range(10**(n-1),10**n):
sum=0
for j in map(int,str(i)):
sum=sum+j**n
if sum==i:
print(i)
输入一个介于3到5之间的正整数(包括3和5)
输出n位的水仙花数,每行一个数
n = int(input()) #输入一个值 n
if n>=3 and n<6:
for i in range(10**(n-1),10**n): #当n=3时,i的取值区间为(100,1000)
sum=0
for j in map(int,str(i)): #将数字i拆分,比如123变成1,2,3,然后依次返回给j
sum=sum+j**n # sum返回j**n的和,比如n=3时,sum=1**3+2**3+3**3
if sum==i: # 最后判断sum和i是不是相等,如果相等就输出显示
print(i)
页:
[1]