Python 水仙花数的编程236


在数学中,水仙花数是指一个三位数,它的每个位数的立方和等于这个数本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。

使用 Python 编程语言查找水仙花数非常简单。我们可以编写一个循环来遍历从 100 到 999 的所有三位数,并检查每个数是否满足水仙花数的条件。如果一个数满足该条件,我们可以将其打印出来。
# 检查一个三位数是否是水仙花数
def is_narcissistic(number):
# 将数字转换为字符串
number_str = str(number)
# 计算每个数字的立方和
cube_sum = 0
for digit in number_str:
cube_sum += int(digit) 3
# 检查立方和是否等于原始数字
return cube_sum == number
# 查找并打印所有三位水仙花数
for number in range(100, 1000):
if is_narcissistic(number):
print(number)

这段 Python 代码首先定义了一个名为 is_narcissistic() 的函数,该函数接受一个三位数并返回一个布尔值,指示该数是否是水仙花数。该函数将数字转换为字符串,然后使用循环计算每个数字的立方和。如果立方和等于原始数字,则该函数返回 True;否则,返回 False。

主程序使用一个 for 循环遍历从 100 到 999 的所有三位数。对于每个数字,它调用 is_narcissistic() 函数来检查该数字是否是水仙花数。如果该数字是水仙花数,则它将被打印出来。

运行这段代码将打印出所有三位水仙花数,即 153、370、371 和 407。

练习

作为练习,你可以尝试扩展这段代码以查找四位水仙花数或五位水仙花数。你还可以尝试使用列表推导或生成器表达式来简化代码。

2024-11-29


上一篇:打造高效Python编程环境

下一篇:Python大数据编程:深入指南