python基础练习题(题目 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身)

2023-06-26,,

day8

---------------------------------------------------------------

实例013:所有水仙花

题目 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

分析了下,问题不大,偷个懒导入math包:

 1 import math
2
3 floor = []
4 for i in range(100,1000):
5 list = str(i)
6 sum = 0
7 for j in list:
8 sum += math.pow(int(j),3)
9 if sum == i:
10 floor.append(i)
11 print(floor)

来看下标准答案:

1 for i in range(100,1000):
2 s=str(i)
3 one=int(s[-1])
4 ten=int(s[-2])
5 hun=int(s[-3])
6 if i == one**3+ten**3+hun**3:
7 print(i)

用时间time.perf_countter()多次尝试,发现两种方法运行时间差别不大,但第二种明显可读性更强一点。

python基础练习题(题目 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身)的相关教程结束。

《python基础练习题(题目 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身).doc》

下载本文的Word格式文档,以方便收藏与打印。