【原创】python100道经典例题之13
实例13:打印出所有水仙花数
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
分析:该题目的重点是输出各位数字立方和等于该数本身的三位数。
针对三位数字,我们可以这样设置,个位设置为i,十位设置为10j,百位设置为100k,然后根据语义就可以得出i3+j3+k**3==i+10j+100k。下面上代码。
a=[0,1,2,3,4,5,6,7,8,9]#设置0到9 的列表
for i in a:#取列表a中所有的数字给i
for j in a:#取列表a中所有的数字给j
for k in a:#取列表a中所有的数字给k
if i**3+j**3+k**3==i+10*j+100*k:#输出各位数字立方和等于该数本身的三位数
if 100*k==0:#百位数字为0就跳过
continue
print("%s%s%s"%(k,j,i))#打印出符合条件的三位数
本人小白一个,欢迎各位大佬指正。