突然想到水仙花数,想到了另一种方式实现,比较麻烦,用到了列表,循环字符串的方式。下面也有比较便捷的常规实现方式:

下面为python源码

#定义一个空列表,用来存放数字
l = []
#取100~1000中间的数字,即100-999
for a in range(100,1000):
    #转化成字符串形式
    I = str(a)
    #循环字符串
    for i in I:
        #转换为整数
        t = int(i)
        j = t**3
        #追加到l列表里
        l.append(j)
    #数字相加
    z = l[0] + l[1] + l[2]
    #各位数字立方相加和等于100~1000中间的数,则为水仙花数
    if z == a:
        print("水仙花数有:",a)
    #重新初始化列表
    l = []

 常规通过取各位的数字,进行相加计算:

for n in range(100,1000):
    i = n // 100
    j = n // 10 % 10
    k = n % 10
    if n == i*i*i + j*j*j + k*k*k:
        print(n)