水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
本文将使用 Python 编程实现水仙花数的查找与验证,涉及到运算符、循环语句、分支语句和函数的使用。
水仙花数的验证函数
我们首先定义一个函数,用于验证一个数字是否是水仙花数。函数接受一个整数作为参数,返回 True 或 False 表示是否是水仙花数。
def is_armstrong_number(num):
# 将数字转换为字符串,并计算每一位数字的立方和
digit_sum = sum(int(digit) ** len(str(num)) for digit in str(num))
# 判断是否等于原数字
return digit_sum == num
复制代码
查找水仙花数
然后,我们编写一个函数来查找指定范围内的所有水仙花数,并将它们打印出来
def find_armstrong_numbers(start, end):
armstrong_numbers = []
for num in range(start, end + 1):
if is_armstrong_number(num):
armstrong_numbers.append(num)
return armstrong_numbers
复制代码
主程序
最后,我们编写一个主程序来调用上述函数,并输出查找到的水仙花数。
start = 100 # 起始范围
end = 999 # 结束范围
armstrong_numbers = find_armstrong_numbers(start, end)
if armstrong_numbers:
print(f"在范围 {start} 到 {end} 内的水仙花数有:{armstrong_numbers}")
else:
print(f"在范围 {start} 到 {end} 内没有找到水仙花数")
复制代码
运行以上代码,即可输出在指定范围内的所有水仙花数。
通过这个简单的示例,读者可以学习到如何使用 Python 中的运算符、循环语句、分支语句和函数来查找和验证水仙花数。这是一个很好的练习,可以帮助提升对 Python 编程的理解和技能。
评论