python查找水仙花数字
问题:输出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,例如153是“水仙花数”,因为:153 = 13 + 53 + 33。
# 水仙花数的查找(python)
list_hua = []
number = int(input("请输入数字:"))
# 遍历0-指定内的数字范围
for i in range(number):
# 转化为字符串形式进行切割分析
number_str = str(i)
# 存储多位数字位数,例如:123存到列表中["1","2","3"]
list_ele = []
# 遍历每一个数字转化的字符串
for ele in number_str:
# 添加到存储的list_ele中,产生每一位数字,添加到列表中
list_ele.append(ele)
# sum为存储数字i对应的每一位的3次方和
sum = 0
# 遍历存储数字中每一位数,例如["1","2","3"],将它们转化为int类型,进行3次方
for list_ele_number_str in list_ele:
list_ele_number_str = int(list_ele_number_str)**3
# 存储数字的每一位上对应的三次方的和
sum += list_ele_number_str
# 判断这个数的位数三次方的和与自身是否相等(水仙花数)
if sum == i:
list_hua.append(i)
print(list_hua)