python水仙花数的查找

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)


你可能感兴趣的:(python,markdown)