1 #题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
代码:
2 print('水仙花数为:')
3 for i in range(1,10):
4 for j in range(0,10):
5 for p in range(0,10):
6 if (i**3 + j**3 + p**3) == (i*100 + j*10 +p):
7 print('%d'%(i*100 + j*10 + p))
运行结果:
[root@HK code_100]# python code_13.py
水仙花数为:
153
370
371
407
[root@HK code_100]#
代码解释:
2 print('水仙花数为:')
3 for i in range(1,10): #因为是求三位数的水仙花数,所以这个三位数的第一位不能为0,所以从1开始,遍历第一位数
4 for j in range(0,10): #遍历第二位数
5 for p in range(0,10): #遍历第三位数
6 if (i**3 + j**3 + p**3) == (i*100 + j*10 +p): #根据题目要求,选取符合要求的数字
7 print('%d'%(i*100 + j*10 + p)) #格式化输出水仙花数
转载于:https://blog.51cto.com/netsyscode/1745180