刚学pyhton想用for in循环求100到1000的水仙花数之和,不会求和,求解答

刚学python想用for in循环求100到1000的水仙花数之和

for zu in range(100,1000):
ge=zu%10
shi=zu//10%10
bai=zu//100
if ge3+shi3+bai**3==zu:
print(zu)

我敲到这就只能把水仙花数求出来要怎么把他们再加起来?
求解答555

设置一个变量,将他们都加起来就行了

Sum = 0
for zu in range(100,1000):
    ge=zu%10
    shi=zu//10%10
    bai=zu//100
    if ge**3+shi**3+bai**3==zu:
        Sum += zu
        print(zu)
print(f"所有水仙花数的总和={Sum}")

img

print("水仙花数:", end=" ")
lst = []

for i in range(100, 1001):   # 三位数
    # 求水仙花数的规则
    if i == sum([int(x) ** 3 for x in str(i)]): 
        print(i, end=" ")
        lst.append(i)
    else:
        continue
        
print("\n")
print(lst)
print(f"水仙花数之和:{sum(lst)}")