求100~100以内的水仙花数,并输出这些数的总和。
#--------------- 解法一、用for循环 ---------------
s=0
for i in range(100,1000):
bw=i//100
sw=i%100//10
gw=i%10
if bw**3+sw**3+gw**3==i:
print(i)
s+=i
print("水仙花数的和是:",s)
# --------------- 解法二、用while循环 ---------------
s=0
i=100
while i<1000:
bw=i//100
sw=i%100//10
gw=i%10
if bw**3+sw**3+gw**3==i:
print(i)
s+=i
i+=1
print("水仙花数的和是:",s)
# --------------- 解法三、写函数、for循环、有返回值 ---------------
def f():
lst=[]
s=0
for i in range(100,1000):
bw=i//100
sw=i%100//10
gw=i%10
if bw**3+sw**3+gw**3==i:
lst.append(i)
s+=i
return lst,s
tpl=f()
# print(type(tpl))
for i in tpl[0]:
print(i)
print(tpl[1])
# --------------- 解法四、写函数、while循环、无返回值 ---------------
def f():
s=0
i=100
while i<1000:
bw=i//100
sw=i%100//10
gw=i%10
if bw**3+sw**3+gw**3==i:
print(i)
s+=i
i+=1
print("水仙花数的和是:",s)
f()