Python实现水仙花数

水仙花数,又称阿姆斯特朗数,是指一个三位数,其各位数字的立方和等于该数本身,153是一个水仙花数,因为+3^3=153$,在本文中,我们将使用Python编程语言来实现水仙花数的计算。

我们需要编写一个函数来判断一个数是否为水仙花数,这个函数需要接收一个整数作为参数,然后计算该整数的各位数字的立方和,最后判断立方和是否等于该整数本身,如果相等,则返回True,表示该数是水仙花数;否则,返回False。

def is_narcissistic_number(num):
    num_str = str(num)
    length = len(num_str)
    cube_sum = 0
    for digit in num_str:
        cube_sum += int(digit) ** length
    return cube_sum == num

python水仙花数 python水仙花数的编程解析

接下来,我们需要编写一个主函数来遍历所有的三位数,并调用上面的is_narcissistic_number函数来判断每个数是否为水仙花数,如果是水仙花数,则将其打印出来。

def main():
    for i in range(100, 1000):
        if is_narcissistic_number(i):
            print(i)
if __name__ == "__main__":
    main()

运行上述代码,我们可以得到所有的水仙花数:

153
370
371
407

通过以上代码,我们可以实现Python编程中的水仙花数计算,需要注意的是,这里的代码仅适用于三位数的水仙花数计算,如果需要计算更大范围的水仙花数,可以对代码进行相应的修改。